Data Illustrator: 使用延迟数据绑定增强矢量设计工具以实现可视化创作(Data Illustrator: Augmenting Vector Design Tools with Lazy Data Binding for Expressive Visualization Authoring)

可视化逐渐成为storytelling以及信息传播的重要的方式。在可视化的发展过程中,在电脑编程制作可视化之前,平面设计师已经可以手动制作可视化。即使在目前存在的可视化中,平面设计师制作的可视化在目前存在的可视化中也占据着很大的比重。相对于电脑制作可视化自底向上的过程,平面设计师制作可视化的过程完全不同,他们首先决定可视化在整体上的外观,然后具体将具体的数据映射到视觉元素中。本文的主要针对的问题是如何辅助平面设计师完成制作可视化,即辅助可视化设计人员用复杂的可视化映射和布局设计器创建高保真数据可视化。针对该问题,本文提出了基于延迟数据绑定的可视化制作框架,并且基于这个框架开发了辅助平面设计师设计可视化的Data Illustrator系统[1]。

对于编程人员以及平面设计人员完成可视化的流程是不同的。编程人员设计完成可视化是从下到上的过程,即将数据映射到图形元素视图中,Vuillemot等人提出变成人员的可视化设计流程如下图所示:

图1. 电脑编程人员制作可视化的流程

即共分为四个步骤,分别是Data transformation,将原始数据转换为处理之后的数据,第二个步骤是visual mapping,将处理之后的数据映射到抽象的视觉元素;第三个步骤是view transformation,将抽象的视觉元素转变成视觉表达;第四个步骤是渲染,即将映射得到的视觉元素进行具体绘制得到最终的可视化形式。从编程人员的代码中,我们也可以理解得到一个可视化的具体流程,如下图2所示为D3绘制一个柱状图的代码,首先将数据与视觉元素bar进行绑定,通过视觉映射决定每一个视觉元素bar的具体参数,最终得到柱状图可视化形式。

图2. D3绘制柱状图的代码

然而平面设计师设计可视化的流程确实相反的过程,遵循自顶向下的设计思路,如图3所示,首先决定可视化的大致外观表现,通过将实际数据映射到视觉元素的过程调整可视化的设计思路,最终得到设计的可视化。

基于两种不同的可视化设计方式存在帮助可视化设计的方法,对于电脑编程生成可视化设计形式的方法,图形语法以及可视化的工具包帮助编程人员完成可视化的制作,图形语法,比如Vega, Vega-lite,g2等是指从数据出发,将数据映射到图形元素,通过坐标系决定图形元素的位置,进而得到最终可视化形式的方法。存在很多辅助可视化设计的工具包,比如D3。这些工具包的准则是在保证可视化设计空间的前提下,尽可能的简化可视化设计的流程。除编程完成可视化设计之外,存在一些方法通过非编程的方法完成可视化的设计,包括基于Vega图形语法的Lyra以及iVisDesigner,然而这些方法所遵循的是电脑编程人员的可视化设计准则。

存在一些工作旨在帮助平面设计师完成可视化的设计,延迟数据绑定的概念也是在这些工作中被提出,它所指的含义是设计人员首先绘制具体的图形元素,然后只有在需要的时候才将原始数据绑定到具体的图形元素中。比如Data Driven Guides,然而这个工作只能够设计简单的图形元素;d3-gridding能够将视图进行分割,然后填入不同的视觉元素,但是仍然需要用户编程的参与。本工作设计了基于延迟数据绑定的可视化设计框架,并且基于该框架设计完成了辅助平面设计人员设计可视化的Data Illustrator的系统。该工作的主要贡献是支持设计可视化的设计概念以及在Data illustrator系统中对应的设计实现。

既然本文的目的是辅助平面设计人员设计可视化,首先需要理解平面设计人员是设计可视化的流程。本工作为了理解可视化的设计流程,首先进行了为期两年,每周一小时的会议讨论,通过采访平面设计人员的方式理解可视化的制作流程。同时本文的作者搜集目前存在的可视化,让可视化设计人员描述该可视化设计的流程。通过用户调研,他们发现有制作可视化有三个主要的任务,分别是绘制图形形状,组织控制图形的位置,将数据绑定到图形元素中控制其具体的表现形式。图形设计人员的设计流程通常是自上而下的,当然也存在例外,因为在某些情况下需要通过具体的数据来调整可视化整体的表现形式。用户调研发现的第三点是可视化的设计人员对于直接操作可视化的设计元素非常看重,因为将数据空间映射到视觉元素空间不是一个线性映射的过程。基于用户调研构建可视化的一个重要的挑战是需要不断的针对可视化中出现的新的情况所导致的冲突进行动态调整。

本文设计的辅助可视化设计的概念主要包括:

1. Shapes, Anchor Points, and Segments

图形是指将锚点通过连线的方式进行连接从而得到的形状。

图3. 由锚点以及线段构成的性状,同时存在封闭以及开放的属性

本文所设计的shape有很多种,所有shape的基本元素是连接两个锚点的线段。连接多个线段可以构建一个path。除了封闭的path之外,也可以构建闭合的形状,比如通过直线段构建的长方形,通过arc连接的圆形。如上图3所示。

2. Repeat and Partition

Repeat和Partition是构建可视化的两种方式,通过repeat的方式也可以重复构建基本的元素,如图左侧所示,通过Partition的方式可以在一个基本元素中增加多个锚点,对于不同的视觉元素,分割的方法也是不同的,比如对于圆形,即可以自动的采用从圆心连线的方式进行分割。

图4. 采用repeat以及partition构建可视化

3. Data Scope

一个图形元素的Data Scope是指表格元素的数据行从而导致图形元素Repeat以及Partition的数据项。

图5. 不同图形元素的Data Scope。左图不同直线的Data Scope为company属性(MSFT)。右图中不同线段的Data Scope为具体的Data属性(01/01/2000, 02/01/2000等)

4. Collection and Group

Collection和Group的概念不同,collection中包含所有的元素具有相同的数据类型,同时每一个元素具有不同的Data Scope;在Group中则不同,在一个group中的元素的数据类型是不同的,同时group中的每一个孩子节点具有相同的Data Scope。

5. Lazy Data Binding

自动地将数据绑定到具体的视觉元素中能够有效的减小人为操作的负担,并且绑定数据的视觉元素作为认为操纵可视化的约束。延迟数据绑定主要包括以下三个步骤,分别是:

  1. 计算一系列的数据值,每一个数据值对应一个视觉元素。
  2. 根据绑定的数据值计算一个比例尺,这个比例尺的类型取决于数据的类型以及映射到的视觉元素的类型。
  3. 按照比例尺将数据值转换到对应的视觉元素中。

根据本文所设计的基于延迟绑定的框架,设计了Data Illustrator的系统辅助图形设计人员设计可视化形式,具体的Data Illustrator的界面如下图所示。

图6. Data Illustrator界面,如图所示Data Illustrator的界面主要分为7个部分(Toolbar视图,变量视图,绘制视图,用户操作视图,层级视图,原始数据视图,属性视图)

Data Illustrator主要分为Toolbar视图,变量视图,绘制视图,用户操作视图,层级视图,原始数据视图,属性视图,各个视图协同帮助可视化设计人员完成可视化的制作。

本文从可视化设计师的完成可视化的角度设计了辅助可视化设计开发的框架,同时在此基础上设计实现了Data Illustrator系统,这个系统支持延迟数据绑定,并且遵循可视化设计师设计可视化的流程。

[1] Data Illustrator: Augmenting Vector Design Tools with Lazy Data Binding for Expressive Visualization Authoring. Zhicheng Liu, John Thompson, Alan Wilson, Mira Dontcheva, James Delorey, Sam Grigg, Bernard Kerr and John Stasko. Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, 2018

评论关闭。