ATOM: 一种对于单元可视化的语法 (ATOM: A Grammar for Unit Visualizations)

单元可视化是可视化中常见的一类可视化形式,它的特点是将数据集中每一个数据项使用一个单独的视觉元素进行映射。对于特定类型的任务以及数据集,单元可视化能够提供更多的信息,更符合用户认知的心理模型,但是单元可视化的设计空间并没有被完整地探索,同时现有的可视化的语法无法完整地定义单元可视化,本文针对单元可视化,探索了其设计空间,并且提出了语法ATOM通过递归地划分数据空间以及视觉空间的方法描述单元可视化。

单元可视化将数据集中每一个数据项使用一个单独的视觉元素进行映射,与单元可视化相对立的可视化类型是聚合可视化,它将多个数据项映射到一个不可分割的视觉元素。单元可视化有很多的优点,首先,单元可视化对于用户非常直观容易接受。因为单元可视化的视觉映射方式非常直接,它将每一个数据项映射到一个视觉元素,从而可以最小用户的认知与可视化之间的差距,从而减轻用户的认知负担;其次,从认知角度,单元可视化能够维持数据单元与视觉元素的一致性,因此在动画过渡的过程中能够帮助用户追踪视觉元素。第三个是视觉元素的物理属性,每一个数据项映射到一个视觉元素中,因此视觉元素可以保持原始数据的属性,从而符合用户对于数据的认知并且帮助用户构建心理认知模型。第四个优点是单元可视化能够支持用户的多种交互,包括过滤,查询等等。与此同时,单元可视化也存在很多的问题,首先是计算复杂性,受限于内存,计算能力,以及渲染速度,单元可视化无法支持对于大规模的数据。其次,单元可视化只有在每一个视觉元素能够被用户识别的前提下才会有上述的有点,因此每一个单元可视化的视觉元素不能过小。同时,由于单元可视化的视觉元素不能过小,因此对于在视觉元素之间会导致相互的重叠从而造成的视觉遮挡的问题[1]。

目前存在很多的研究针对单元可视化,比如Visual sedimentation[2],Squares[3]等,但是目前单元可视化没有被归类为单独的一类可视化方法,并且单元可视化的设计空间没有被系统地进行探索,因此针对现存的两个问题,本文提出了一种高层次的语法规则描述单元可视化,它可以将单元可视化使用一个通用的框架进行描述,同时能够降低用户使用单元可视化的过程中所存在的编码负担。

本文主要分为两个部分,第一个部分是对于单元可视化的设计空间的探索;第二部分是基于单元可视化的设计空间得到对于单元可视化的描述型语法。

单元可视化的设计空间主要从三个角度进行描述,分别是视觉空间,视觉元素以及布局方法。首先,对于视觉空间主要分为一维,二维与三维;视觉元素分为物理定义的几何元素,矩形元素,以及圆形元素。其中矩形的视觉元素在非重叠类型的可视化形式中最为常见,circle常见与重叠与非重叠的可视化形式。单元可视化的布局主要是决定在单元可视化中视觉元素的位置;布局方式主要分为重叠类以及非重叠类。在重叠类的单元可视化布局中,视觉元素的形状以及位置是独立的,因此视觉元素之间存在相互的交叉重叠,但是视觉元素之间的交叉重叠大大影响了单元可视化潜在优势。除重叠类的布局之外,非重叠类的布局通过不相交地将视觉元素进行组织从而减少视觉元素之间的交叉。对于视觉元素的组织是基于对于视觉空间进行合理的划分与组织完成的。对于视觉空间的组织主要有两种方式,一种是对于自顶向下地对于空间进行划分(subdividing);另一种是自底向上的将视觉元素进行打包组织(packing)。

在探索了单元可视化的设计空间之后,基于其设计空间提出了ATOM的语法,从而支持对于单元可视化的不同角度的声明。本文对于单元可视化进行了定义,将其描述为一系列的子容器进行定义,每一个子容器包含一个视觉元素。因此单元可视化由视觉元素与子容器之间的元组对所构成,为了构成这些元组对,需要对于视觉空间以及数据空间进行不断地划分,将视觉空间划分到最小的子容器,将数据空间划分到最小的数据元素。

在对于数据空间以及视觉空间划分的过程中存在不同的操作。在数据空间中的操作包括bin,duplicate,filter,以及flatten。下面分别介绍这四种操作,bin操作是根据数据的属性值对于数据空间进行划分,duplicate操作是将数据进行复制,在不同的视觉空间汇总使用同样的数据;filter是根据给定的条件对于数据集进行二部划分。flatten是将每一个数据单元放置到一个空间子容器中。

在视觉空间的划分可以组织成一个层次结构,在第一层划分为重叠式布局以及空间填充式布局。重叠式布局包括Map2D,即将数据映射到二维空间中,以及jittering,即使用都抖动的方法去除元素之间的重叠;对于空间填充的布局方法,按照自顶向下以及自底向上的方法划分为subdivision以及packing两类,其中subdivision按照划分的维度分为一维(fillX,fillY)以及二维(treemap),packing分为最大填充(maxFill)以及均匀布局(uniform)两类。以上介绍了对于数据空间以及视觉空间的划分方法,以泰坦尼克号单元可视化为例,构成该可视化的过程如下图1所示。对于数据空间分别采用Bin,flatten等操作,对于视觉空间分别采用FillX以及Pack XY的操作。最后通过flatten的操作将每一个子空间中放置一个视觉元素得到最终的结果。

图1 单元可视化的数据空间与视觉空间的划分过程

根据以上定义的视觉空间以及数据空间的操作,本文提出了ATOM的形式化的语言,将ATOM解构为Root(单元可视化绘制的空间),Layout(单元可视化的布局,采用递归的定义方法),Marks(单元可视化的视觉元素),其中layout包含了上述对于视觉空间以及数据空间的划分操作。同时本文提出了shared property控制视觉元素之间的大小是否相同。具体的语法定义如下图2所示。

图2 ATOM的语法定义

 

图3 ATOM语法定义可视化的示例

本文对于单元可视化进行定义(单元可视化能够维持视觉元素的独立性,并且保持视觉元素与数据单元的一一对应关系的可视化);同时探索了单元可视化的设计空间,并且提出了ATOM的形式化描述语言描述了单元可视化。

[1] D. Park, S. M. Drucker, R. Fernandez and N. Elmqvist, “Atom: A Grammar for Unit Visualizations,” IEEE Transactions on Visualization and Computer Graphics, 24(12):3032-3043, Dec 2018.

[2] Samuel Huron, Romain Vuillemot, Jean-Daniel Fekete. “Visual Sedimentation,” IEEE Transactions on Visualization and Computer Graphics, 19 (12):2446-2455, Dec 2013.

[3] D. Ren, S. Amershi, B. Lee, J. Suh and J. D. Williams, “Squares: Supporting Interactive Performance Analysis for Multiclass Classifiers,” IEEE Transactions on Visualization and Computer Graphics, 23(1):61-70, Jan 2017.

评论关闭。