24.5. 可视化中的交互#
可视化可以将数据和信息转化为易于理解和分析的视觉表示形式,以放大人类的认知能力,帮助人们发现数据中隐藏的模式、趋势、异常等特征,从而获得新的洞见和知识。 然而,静态的可视化图表往往难以完全展现大规模、高维、复杂数据的全貌,也无法满足用户探索数据、揭示信息、验证假设的需求,因此,交互式可视化便应运而生。
24.5.1. 什么是交互式可视化?#
24.5.1.1. 交互的定义与重要性#
交互在可视化中扮演着至关重要的角色。可视化中的交互是指用户与可视化表示之间的对话与操作过程,旨在帮助用户主动探索数据,揭示数据中隐藏的信息。 通过对可视化数据的交互操作,用户能够动态控制可视化视图,调整数据表示方式,筛选感兴趣的数据子集,深入分析数据的不同方面,进而大大提升可视化的表达力和分析力。
在当今海量且动态的数据世界里,“交互”从单纯的界面操作手段,演变成支撑人机协同分析的重要桥梁。
1. 交互促进数据探索与洞见发现
交互式可视化系统通过提供灵活、直观的交互机制,鼓励和引导用户主动探索数据,发现数据中隐藏的洞见,推动数据驱动的知识发现过程。传统的静态可视化图表的表达能力有限。大规模、高维、复杂的数据往往难以在单一的静态视图中完全展现。而交互式可视化则允许用户通过交互操作(如平移、缩放、筛选、联动等)动态地探索数据空间,从不同角度、不同层次、不同粒度审视数据。 施奈德曼(Shneiderman)于 1996 年提出的”信息检索箴言”(Visual Information-Seeking Mantra)高度概括了交互对数据探索的促进作用:
概览为先(Overview first):交互应该首先提供数据的总体概览,让用户对数据有一个全局印象;
缩放过滤(Zoom and filter):交互应该允许用户聚焦感兴趣的数据子集,并排除无关数据;
按需细节(Details-on-demand):交互应该支持在保持上下文的同时,按需查看数据的详细信息。
2. 交互支持协同分析与知识共享
现实世界中的数据分析任务往往需要多人协作。不同背景和专业的人(如数据分析师、领域专家、决策者等)需要在分析过程中交换意见、共享洞见。交互式可视化为这种协同分析提供了有效的平台和媒介。 协作型可视化交互具有以下优势:
意见交流:协作型交互允许多个用户同时或先后对可视化视图进行操作和标注,如进行选择、过滤、重构等,并通过图形、文本等方式标注自己的见解,支持不同用户之间的观点交流和碰撞。
分工协作:协作型交互支持将复杂的分析任务分解为多个部分,由不同的用户并行处理,提高分析效率。视图的分离与联动机制确保各个用户的分析视角可以相互补充又不失同步。
知识整合:协作型交互提供公共和私有的工作空间,允许用户在独立探索的基础上,将个人的洞见和知识贡献到群体的分析成果中。版本管理和记录回放等机制有助于追踪群体知识的演化过程。
跨地域协作:分布式协作型交互支持远程的多个用户通过网络参与到同一个可视化分析过程中。共享的视觉表示和交互状态确保各地用户拥有一致的上下文理解。 协同可视分析不仅能够汇聚不同用户的智慧,加速洞见的发现和知识的积累,还能培养用户的团队意识和协作精神,提升用户体验。
24.5.1.2. 交互式可视化的发展#
交互式可视化的发展可以追溯到 20 世纪 60 年代。 1962 年,伊凡·苏泽兰(Ivan Sutherland)在他的博士论文《Sketchpad, A Man-Machine Graphical Communication System》中提出了交互式计算机图形学的概念。 Sketchpad 被公认为是第一个真正的交互式图形用户界面和可视化系统,奠定了人机交互领域的基础。 Sketchpad 引入了诸如几何约束、面向对象、视图与对象分离等重要概念,用户可以通过光笔在屏幕上直接绘制和操纵图形对象,展现了交互对可视化的重要作用。

图 24.14 正在操纵 Sketchpad 的 Ivan Sutherland。(Kerry Rodden 根据 Ivan Sutherland 的原始照片扫描得到的 Sketchpad 论文电子版,由 Blackwell 和 Rodden 编辑)#
20 世纪 70-80 年代,随着计算机图形学、GUI、面向对象编程等技术的发展,以及个人计算机的普及,交互式可视化迎来了蓬勃发展的时期。一系列里程碑式的可视化系统和技术相继出现:
1975 年,Xerox PARC 的 Alto 计算机首次将鼠标引入人机交互,开创了 WIMP(Windows, Icons, Menus, Pointers)范式的先河。 1987 年,施奈德曼(Ben Shneiderman)提出了”直接操作”(Direct Manipulation)的概念,强调交互应该让用户直接操纵可视化对象,并实时反馈,从而提高交互的自然感(naturalness)、掌控感和参与感。 1988 年,美国信息可视化专家罗伯逊(George Robertson)等人开发的Information Visualizer 系统,集成了多种交互式可视化技术,如 3D 透视墙、锥形树、超立方体等,展示了高维数据的可视化和探索能力。 1991 年,贝克尔(Becker)和克利夫兰(Cleveland)发表了关于交互式动态图形(Interactive Dynamic Graphics)的开创性文章,阐述了交互、联动对统计数据可视化的重要性,引发了交互式数据分析的研究热潮。
进入 21 世纪以来,人机交互技术不断突破,为交互式可视化注入了新的活力。 一方面,传统的桌面交互范式得到了延伸和提升。 另一方面,全新的交互范式和技术也不断涌现,为可视化提供了更广阔的设计空间。 此外,移动互联网、可穿戴设备、物联网等新兴技术也在推动交互式可视化的发展,使其走出专业领域的围墙,渗透到人们生活的方方面面。 与此同时,交互式可视化的应用领域也不断扩展,从早期的科学计算、统计分析,逐渐渗透到地理信息、金融商业、社交媒体、医疗健康、数字人文、体育竞技、教育学习等各行各业,推动了行业的变革发展。
可以预见,随着人工智能、大数据、云计算、物联网等新技术的加速演进和融合创新,未来交互式可视化将在智慧城市、智能制造、自动驾驶、智慧医疗等领域扮演更加关键的角色,推动数据价值的充分释放和行业变革的深入发展
24.5.2. 常见的交互技术#
根据不同的交互意图,可以将可视化交互技术归纳为以下七种类型(Yi et al. [YaKSJ07]):
选择(Select):标记感兴趣的数据项,以便进一步检查。
探索(Explore):以某种方式改变可视化视图,探索数据的不同子集或不同表示。
重构(Reconfigure):改变数据的表示方式,如排序、重新布局等。
编码(Encode):改变数据到视觉元素的映射方式,如改变颜色、大小、形状等视觉通道。
抽象/精细化(Abstract/Elaborate):调整数据聚合和抽象的层次,在概览和细节之间切换。
过滤(Filter):根据某些条件,将数据分为关注点和非关注点两部分。
联系(Connect):揭示数据项之间的关系,如关联、相关性、因果关系等。
这些交互意图并非相互独立,在实际的可视化系统中往往会组合使用,形成复合的交互模式。高级的交互模式如概览+细节、聚焦+上下文、多视图协同等,都是由多个基本交互意图组合而成。
如果以技术实现为核心,更加关注交互的操作对象与实现手段,那么根据操作对象与目标可将交互技术分为视图操作、数据操作与叙事构建三类,具体如下:
视图操作(View Manipulation)
基础导航:
平移与缩放:通过拖拽画布(桌面端)或手势滑动(移动端)调整可视区域。缩放操作常采用对数尺度应对长尾分布数据(如网络流量中的极少数大流量节点)。
3D视图控制:在三维可视化中,用户可通过轨道旋转(绕目标点旋转模型)、第一人称漫游(WASD键盘控制移动)或VR手柄交互探索复杂结构(如分子模型、建筑BIM)。
视图布局调整:
动态排序:点击表头按某列升序/降序排列表格数据,或拖动维度轴调整平行坐标的变量顺序。
视图切换:在折线图、柱状图、热力图间动态切换,适配不同分析场景。
数据操作(Data Manipulation)
数据筛选与聚焦:
属性过滤:通过多选下拉菜单勾选类别(如产品类型:手机、平板),或使用滑块设置数值范围(如价格0-5000元)。
时空范围选择:在地图上框选地理区域,或通过时间轴选择特定时间段(如2020-2023年)。
数据关联与钻取:
刷选联动(Brushing & Linking):在散点图中选中一组点,其他视图(如平行坐标、数据表)自动高亮对应条目。
下钻(Drill-down):点击汇总显示项(如国家GDP)展开下级明细(如各省GDP贡献比例)。
叙事构建(Storytelling)
用户驱动叙事:
视图状态保存:用户可将特定筛选条件、视图缩放状态保存为“书签”,构建个性化分析路径。
注释与标注:添加文字说明、箭头标记或手绘草图,引导观众关注关键结论(如标注折线图中的拐点并解释成因)。
系统辅助叙事:
自动故事生成:工具根据数据特征生成叙事框架(如“销售额在Q4显著上升,主要由华东地区驱动”),用户可编辑补充细节。
动态演示模式:预定义动画序列逐步展开分析逻辑(如先展示全局趋势,再聚焦异常点,最后对比解决方案效果)。
尽管分类维度不同,两者在具体交互技术上存在重叠与映射:
用户意图(Yi et al.) |
技术实现 |
示例 |
---|---|---|
Explore(探索) |
视图操作 |
平移、缩放三维模型 |
Reconfigure(重新配置) |
视图操作 |
切换图表类型(如折线图→柱状图) |
Encode(编码) |
视图操作 |
调整颜色映射或标记形状 |
Select(选择) |
数据操作 |
点击数据点高亮显示 |
Filter(过滤) |
数据操作 |
滑动条筛选数值范围 |
Connect(关联) |
数据操作 |
多视图联动(选中地图区域,同步更新折线图) |
Abstract/Elaborate(抽象/细化) |
数据操作 |
下钻查看明细数据 |
—— |
叙事构建 |
保存视图状态、添加注释、生成故事板 |
24.5.2.1. 交互设计原则#
交互设计原则是确保可视化系统易用性、有效性与用户满意度的核心准则,具体包括:
1. 一致性(Consistency): 保持系统内及跨平台的交互、视觉反馈和操作习惯统一,降低学习成本。例如,所有图表支持统一的拖拽和缩放操作。
2. 渐进性(Progressive Disclosure): 按需逐步展示信息和功能,避免界面过载。核心信息优先呈现,复杂功能通过交互展开,支持用户按需求加载。
3. 反馈即时性(Immediate Feedback): 操作后迅速反馈,维持流畅体验。系统应在100ms内响应,如按钮按下变色、加载显示进度条。
4. 可逆性(Reversibility): 允许用户撤销和恢复操作,降低错误负担。提供撤销、重做功能,并自动保存会话状态,支持恢复。
5. 可及性(Accessibility): 确保所有用户,包括残障人士,能够使用系统。提供键盘导航、色盲友好设计和屏幕阅读器兼容。
6. 用户控制与自由度(User Control and Freedom): 提供多路径和个性化配置,允许用户自定义界面和操作方式。支持随时取消耗时操作。
7. 容错性(Error Tolerance): 预防和纠正用户错误,提供友好的错误提示和解决方案。关键操作需二次确认,避免误操作。
8. 认知负载优化(Cognitive Load Reduction): 减少用户信息处理负担,通过焦点+上下文设计、高效的渐进式动画和简洁的界面设计,提升用户分析效率。
通过上述交互设计原则,人们可以构建了高效、直观且包容的可视化系统,使复杂数据转化为用户可探索、可理解、可信任的知识。