数据可视化系统除了
视觉呈现部分,另一个核心要素是
用户交互。交互是用户通过与系统之间的对话和互动来操纵与理解数据的过程。无法互动的可视化结果,例如静态图片和自动播放的视频,虽然在一定程度上能帮助用户理解数据,但其效果有一定的局限性。特别是当数据尺寸大、结构复杂时,有限的可视化空间大大地限制了静态可视化的有效性。其实,即使用户在解读一个静态的信息图海报时,也常常会通过靠近或者拉远,甚至旋转海报以便理解,这些动作相当于用户的交互操作。具体而言,交互在如下两个方面让数据可视化更有效。
- 缓解有限的可视化空间和数据过载之间的矛盾。这个矛盾表现在两个方面。首先,有限的屏幕尺寸不足以显示海量的数据:其次,常用的二维显示平面也对复杂数据的可视化提出了挑战,例如高维度数据。交互可以帮助拓展可视化中信息表达的空间,从而解决有限的空间与数据量和复杂度之间的差距。Ben Shneiderman提出的信息视觉检索要诀:overview first,zoom and filter,then details-on-demand 描述了通过交互探索大量数据的有效方法。
- 交互能让用户更好地参与对数据的理解和分析。特别是对于可视分析系统来说其目的不是向用户传递定制好的知识,而是提供工具和平台来帮助用户探索数据得到结论。在这样的系统中,互动是不可缺少的。
数据可视化中的交互研究属于可视化与人机交互(HCI)的交叉领域。交互是用户与系统之间的信息交流。从信息流量来说,可视化中交互两端的信息流量通常是不对称的交互的目的是让用户来操作视图和数据,从系统输出到用户的信息量比用户到系统的要多而人机交互领域中许多情况是相反的,许多交互设备的目的是大量采集用户信息,因此从用户输入到系统的信息量更大。
事实上,组成可视化系统的视觉呈现和交互两部分在实践中是密不可分的。无论哪一种交互技术,都必须和相应的视图结合在一起才有意义。许多交互技术也是专门设计并服务于特定视图的,帮助理解特定数据。对于某种特定交互技术的具体算法和实现细节,本书在介绍相应可视化技术的专题章节中进行了详细的阐述,而本章重点是在横向层面上对交互技术进行总结和介绍,为更好地理解和使用各种交互技术建立理论基础--设计交互需要遵循的准则:从基本操作的分类出发介绍各类常见的交互技术:对交互技术各种不同的分类方法,并且遵循基于交互任务的分类法介绍各类常见的交互技术:对可视化中用到的不同硬件设备和其对应的交互技术进行介绍。
交互分类
1.按低阶交互操作
最常见的分类方法的着眼点是低阶的基本交互操作。从Ben Shneiderman提出的信息视觉检索要诀:overview first,zoom and filter, then details-on-demand 出发,他归纳了几种最基本交互操作:概览(overview)、缩放(zoom)、过滤(flter)、按需提供细节(details-on-demand)、关联(relate)、记录(history)和提取(extract)。Dix则认为交互模式包括高亮(highlight)与焦点、上下翻页和超链接、概况与上下文、同一表示的不同参数、时间轴的过渡 5个大类。Keim 提出了 5 类交互模式:投影、过滤、缩放、失真变形和链接与刷动等。Buja和 Wilkinson 提出了与之类似的针对低阶的交互操作。
Chuah以所操作的数据类型为标准进行了分类,例如图形操作、集合操作以及数据操作。图形操作包括图形表示以及对可视化对象进行操作,主要是视觉表现层面的交互;集合操作包括创建、删除和归纳数据对象组成的集合;数据操作是针对单个数据对象的添加、删除等。
除了从交互操作来分类之外,也有研究按照交互的某种属性进行分类。例如,Tweedie将交互操作按照直接性(directness)进行分类,从手动直接移动和旋转数据对象到完全依赖自动算法操纵可视化。
2.按交互操作符与空间分类
Ward 和 Yang 在按用交互操作分类的基础上进一步提出了更完善的框架a0on,他们按交互操作符与空间分类将交互定文为操作特和操作空间的组合,其中,三类交互操作符包括:导航(navigation)、选择(selection)和变股(distortion),六种操作空间指:屏幕空间(scrcen-space)、数据值空间(data value-spaces)、数据结构空间(data structure-space)、属性空间(attribute-space)、对象空间(object-space)和可规化结构空间(visualization structure-space)。大多数可视化中的交互技术都可以按照上而描述的操作符和操作空间表示。例如,对可视化数据按照其数据值进行过能就是在数据值空间中做选择操作,而高亮操作则是在屏幕空间中的选择操作。
引入操作符与操作空间的概念对可视分析系统尤其有帮助。这是因为在可视分析中,用户通过交互实现数据的变换,切实了解每一步变换中用到的操作符和作用的空间可以帮助记录并分享分析过程。通过对这个分析过程的挖掘,还可让机器智能学会自动进行相似的分析。
3.按交互任务分类
上述这些从交互操作和属性进行的分类有助于对交互技术的研究和理解。但是,从设计可视化系统的角度出发,研发人员通常根据整个系统要完成的用户任务来选择交互技术,因此,更为有用的分类方式是按照功能对交互技术进行分类:操作模式不同,但用于完成同一个任务的交互技术被归于同一类。对于不同的应用领域,可视化要完成的任务和达到的目的也不同,因此研究人员划分和定义的任务分类也很不同。Zhou 和 Feiner 定义了三大类的任务:关系型可视化任务、直接的视觉布局任务和编码任务。Amar提出了更细致的分类。一个较全面的分类包括如下7个大类的交互任务。
- 选择:标出感兴趣的数据对象。
- 导航:展示不一样的信息。
- 重配:展示一个不同的可视化配置。
- 编码:展示一个不同的视觉表现。
- 抽象/具象:展示概览或更多细节。
- 过滤:根据条件展示部分数据。
- 关联:展示相关数据。
通过上面的介绍,可以看到交互分类的方法很多,有各自的依据和适用的情况,并不存在一个可以放之四海而皆准的分类。因此,需要对这些分类都有所了解,在应用中根据实际情况选择合适的分类。
来自《数据可视化》 陈为,沈则潜,陶潜波等著