Visual Boosting in Pixel-based Visualizations (基于像素的可视化中的视觉增强)

基于像素的可视化方法是针对每一个数据项仅使用很小的一个区域(若干个像素)进行视觉编码的一种可视化方法。在面对大规模数据集时,基于像素的可视化方法有较好的表现,可以提供高分辨率。然而同时也有其弊端,若数据较为稀疏,像素大小的数据项容易被人忽视,而若数据项较密集,紧密排布的像素数据点会掩盖潜在的数据特征。因此,视觉增强的方法被用来加强对基于像素的可视化的认知,常用的视觉增强方法有光轮、颜色、变形、影线、形状符号等。

一、视觉增强的基础概念

视觉增强,等效地可以说是对像素的突出强调。根据想要增强的对象,可以大致分为三类:对单个像素的增强、对段落的增强、对趋势的增强。另外,可以根据增强的信息或者任务来分为两类:图像驱动的增强任务和数据驱动的增强任务。图像驱动的增强任务指的是,增强的对象数据已经通过颜色编码的方式呈现在可视化中,但它的视觉效果还不足够明显,因此希望在图像上加强它的视觉冲击性。数据驱动的增强任务指的是,增强的对象数据并未在可视化中呈现,用户关心的数据信息是在可视化外的外部信息,因此希望通过视觉增强的方式额外体现外部信息。

二、常见的视觉增强技术

在本文中讨论分析的视觉增强技术,主要包括光轮、颜色、变形、影线、形状和符号。

(1)光轮
最符合直觉的视觉增强技术是直接增大对象的大小,但是在基于像素的可视化中,每个数据项对应的像素位置和布局通常具有一定限制,因此不能简单地放大目标像素区域。采用光轮的增强技术是在对象像素周围加上一圈有颜色的光轮,来扩大数据项在视觉上占据的像素空间。通常会选择使用相同色调但饱和度更低或者半透明的颜色作为光轮颜色,这样就不会完全遮挡增强像素周围的数据点。

图1. 光轮的效果

然而当数据较为密集时,光轮之间相互遮挡有时不可避免。此时,有两点需要注意,首先是光轮一定要避开原始的数据点,不能让光轮覆盖或遮挡原始真实数据的呈现。其次是渲染光轮的顺序对最终可视化的结果存在影响。最后渲染的光轮的颜色,在结果中视觉效果会更加明显,尤其当使用不透明的光轮颜色时。采用光轮的增强技术可以通过光轮的半径大小来控制增强的幅度。

图2. 采用光轮的视觉增强技术

(2)颜色
采用颜色的增强技术有两种主要的方法。第一种是直接改变颜色映射的方式,将目标数据项对应像素的颜色改变为与其他像素颜色有较强感知对比度的颜色。例如在灰度图中,采用红色或者黄色来达到前注意效果。

图3. 使用对比强烈的颜色突出目标

第二种方法是当数据较为稀疏时,会有大量的像素没有对应的数据,此时采用增强目标的像素颜色作为背景色填充在空白值处,可以帮助发现在数据集中的主要趋势。而未被增强的数据项像素在背景色的衬托下也更容易作为离群点被发现。

图4. 根据目标改变背景颜色来突出趋势

(3)变形
采用变形的增强技术也是一种通过改变编码数据项的像素区域大小来达到强调突出的方法。把增强目标的像素区域扩大,而缩小其余数据的像素区域,可以突出体现增强目标。当可视化中,排布在一行或一列像素的数据具有实际语义时,可以同时扩大或缩小这一整行或一整列。这一方法相较于光轮的技术,有一个优点是它回避了遮挡的问题。采用变形的增强技术还具有很好的数据可扩展性,因为它压缩不重要数据占用的空间以提高像素利用率

图5. 采用变形的视觉增强技术

(4)影线
采用影线的增强技术不适用于基于单个像素的可视化,它要求数据项对应的像素区域大小至少多于一个像素,因为这一方法通过在像素区域上添加影线来达到视觉增强的效果。通常可以采用的影线方向可以是水平的、竖直的、倾斜的。同时使用多个方向的影线时,一个方向可以代表一组有关联的数据项集。根据认知实验,水平和竖直的影线效果要优于倾斜的影线。

图6. 采用影线的视觉增强技术

(5)形状和符号
特殊的形状和符号可以帮助用户直接标明出关注的数据项像素。单一像素不可能体现出形状或者符号,因此该方法首先要求有一定的像素数量支撑。无论是形状还是符号的方法,在使用时都需要注意颜色的使用。因为在使用符号时,通常会选择在视图上直接添加,但为了不遮盖目标数据像素,通常会对周围的像素存在遮挡。而使用形状时,一般会用新形状替换原本表示数据的像素区域形状(通常是矩形),由于两个形状一定存在差别,所以会有留白的问题。

图7. 采用形状和符号的视觉增强技术

(6)其他技术
还有许多其他的视觉增强技术,但并不是所有的都适用于基于像素的可视化方法。例如模糊、错位、动画。模糊可以突出保留的部分,但模糊部分的数据就变得不可见,丢失了背景信息。错位对于数据项的像素排列和布局有着一定要求,并不普适于基于像素的可视化中。而且能够使用错位的情况,通常可以用变形的方法得到类似的效果。动画是一种很强的视觉增强技术,但是一旦使用不当就会对用户造成很大的干扰,因此本文并不讨论动画这一方法。

三、实际应用

从基于像素的可视化进行数据分析的三大领域讨论不同视觉增强技术的选择和实际应用效果。

(1)文本分析领域
在文本分析领域中,基于像素的可视化方法面对的主要问题在于数据项比较稀疏,同时难于发现数据的整体或局部趋势。一个具体的案例是用户反馈分析,在图8中,每一个方阵代表一篇用户反馈,每一个像素代表一个词,蓝色表明是正面评价,红色表明是负面评价,颜色的亮度代表态度的强烈程度。可以看到具有含义的数据分布零散,大部分像素未被编码信息。因此可以采用颜色的视觉增强技术,根据一个方阵中出现较多的颜色来编码为该方阵的背景颜色,利用大片的原本空数据的像素来呈现一篇反馈在整体上表现的趋势:支持或反对。同时,对于数据项又采用光轮来突出,使得分布稀疏的像素点不容易被忽视。光轮的大小由该数据与整体趋势的差异决定,差异越大光轮越大,因此离群点就越明显。

图8. 视觉增强前后的文本分析像素可视化

(2)基因组分析领域
在基因组分析领域,基于像素的可视化方法面对的主要问题是通常一个基因组序列过长,即使一个像素代表一个含氮碱基也不保证有足够的空间。同时基因组关心的是连续一串的含氮碱基,因此要得到段落的数据信息。如图9是一个具体的基因序列数据的可视化,其中一个像素代表一个含氮碱基,颜色深浅编码该含氮碱基的可信度,斜线标明了具体已知的基因段。而图10是使用了采用颜色和变形的视觉增强后的可视化效果。通过对比两图,我们可以发现调整颜色映射为两极的后,可以明显区分检测可信度高的序列和可信度低的序列。同时针对在图9中的空白像素采用变形的方式,缩小空数据占用的像素宽度,使原本一个像素一个空数据变为一个像素多个空数据,压缩了占用的空间,大幅提高了空间占用率。

图9. 没有视觉增强的基因组像素可视化

图10. 视觉增强后的基因组像素可视化

(3)时空数据分析领域
在时空数据分析中,基于像素的可视化方法很常用,因为每一个数据项都有一个固定的地理坐标,可以对应到屏幕的像素坐标。但是当数据较为密集时,会存在严重的遮挡问题,这是因为多个坐标点的数据可能落在了一个像素内。因此在使用视觉增强技术的同时,通常需要特殊的算法来帮助解决遮挡问题。一个具体的案例是地震数据的可视化,在图11中一个点对应一次地震,光轮的大小和颜色对应地震的震级。不论是数据密集还是光轮所带来的遮挡问题,可以通过一些地图变形的算法来解决。本文中介绍的算法,首先是优先绘制光轮大的数据点,其次是当要绘制的数据项像素坐标已经被遮挡时,将该数据偏移到最近的无遮挡的像素点绘制。该算法在尽量保持地图上相对位置关系的同时,完整呈现出所有的数据项。

图11. 使用了变形算法的地震像素可视化

 

四、不同视觉增强技术之间的比较

作者将比较的结果总结为一张表格,‘+’代表可用,‘o’代表效果一般,‘-’代表不可用。

表1. 不同视觉增强技术的比较总结

从这个表格中,我们可以总结出如下的几个要点:

  1. 采用光轮的视觉增强方法,不论是什么增强目的或任务,在数据稀疏时推荐使用,但数据密集时不推荐使用。这是因为光轮对于相邻的像素点,不可避免的造成了遮挡,因此数据越是密集,遮挡问题就越是严重。
  2. 采用颜色的视觉增强技术不适用于数据驱动的增强任务。这是因为通常基于像素的可视化会使用颜色映射的方法来编码信息(类似热力图),而数据驱动的增强要求增强的方式要同时包含额外的信息,在原先的颜色编码上再叠加一种颜色编码,是很难保证正确的颜色认知的,因此不推荐再使用颜色。
  3. 影线和变形的视觉增强方法,更适用于针对段落的增强任务。
  4. 光轮、背景色和符号的增强方法,不适用于针对段落的增强任务。光轮和符号是由于遮挡问题,不适合使用在段落上(段落就是指连续的像素序列)。而背景色是由于在段落中一般不存在足够的背景空间或者足够的空数据数量。
  5. 只有背景色的方法适用于针对趋势的增强任务。

五、个人总结

针对不同视觉增强技术在不同增强任务中的效果比较,最具有说服力的依据应当来自于用户的认知实验,但由于考虑到工作量巨大,因此这篇文章中大部分的工作都是基于理论上分析和一些已有的认知实验结果。

为了达到前注意效果,并不意味着使用越多的视觉增强技术就一定有更好的效果。根据认知实验,当有多于两个的增强目标和增强方式时,用户反而会困惑应当先关注哪个对象。因此一定不能用不同的视觉增强技术来增强可视化中不同的方面。但是,我们可以使用不同的视觉增强技术来加强可视化中的同一个方面,例如在地震数据的可视化中,同时使用了颜色和光轮编码地震震级来达到增强的效果。在这篇文章中,没有讨论不同的视觉增强技术结合的效果,我认为合理的结合使用不同的视觉增强技术可以各取其长处,而在新的可视化情形下使用,并取得更优的效果。

发表评论?

0 条评论。

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>