LineUp:多属性排序的可视分析 (LineUp: Visual Analysis of Multi-Attribute Rankings)

在日常生活中,我们常常需要对一些事物进行评价从而做出选择、决策。比如,我们要比较不同的大学,为我们报考志愿提供依据;我们比较不同的物质的营养,为我们选择健康美味的食物提高参考。在解决这些问题时,排序是一种常用有效的方法。通过排序,我们能得到关于大学排名、食物和票房电影的排名,这样解决上述的问题似乎就变得容易了许多。对于只有一个属性的事物,理解排名结果是简单明了的,例如歌曲销量排行榜。但在大多数情况下,我们需要考虑事物的多个属性从而得到一个综合排名。举个例子,像刚刚所说的大学排名,对于一所大学的描述属性就是多维的:科研情况、教学情况及专业设置等等。在基于多属性的排序中,理解各属性如何影响排名结果是非常有必要的。因此,这篇文章提出了一种帮助用户理解、改变和比较多属性排序的可视化工具 — LineUp.

图1 LineUp

图1 LineUp

10项需求

在设计可视方法之前,作者通过在相关工作、领域专家的反馈中,得到了10条设计要求:

R1 排名可视化:让用户能快速捕捉到排名信息

R2 排名原因可视化:让用户看到造成排名不同的原因

R3 支持多属性排名:允许用户进行基于多属性的到排名

R4 支持过滤:支持用户过滤不需要的数据

R5 支持灵活的数值映射:允许用户定义如何将属性映射到排序比分(0,1之间的数)

R6 根据任务自适应延展性:根据不同的任务,能够在多层次(Level of Detail)与延展性之间取得良好的平衡

R7 考虑缺失数据:考虑缺失数据而非直接把缺失数据的项从原数据中删除

R8 交互式的优化及视觉反馈:根据用户的交互,即时反馈到可视化形式上;在可视化形式上帮助用户保留住那些可能有深远影响的变化。

R9 排序结果驱动的属性优化:解决用户要想让某一项排名尽可能地好,需要对哪些属性进行优化的问题

R10 比较多个不同的排序结果:支持用户比较针对同一个数据的不同排序结果

LineUp的设计

LineUp主要是由不同的条形图来构建而成。如图2所示,每一行表示的是一个数据项。行的位置表示该项数据的排名,从上往下排名降低(满足了R1)。在每一行中,从左往右依次是排名、文本属性、类别属性、数值属性。

lineup_2

图2 LineUp使用条形图作为主要元素

在数值属性中,又可以有单一数值属性和复合数值属性。对于每一种属性,都可以设置数据范围(满足了R4)。在图2中,橙色列为用条形图表示的单一数值属性,其后四列被合并为一个名为2012的复合属性。这其中的条形图表示的是其排序比分的大小,从属性数值到排序比分的映射关系可以有图3的可视化编辑工具来定义(满足了R5)。通过拖-放(drag-and-drop)的交互方式实现创建、修改或删除复合数值属性。

lineup_1

复合数值属性对排名的影响分为两种(满足了R3):串联复合(Serial Combination)和并联复合(Parallel Combination)。串联复合是求各属性的加权平均和来决定排名,用堆叠横条图来表示(满足了R2)。LineUp中提供来4中不同的堆叠方式来方便不同的比较任务(图4):(a)经典的堆叠横条图,适用于跨不同排名的总体比较(b)分支的堆叠横条图,适用于跨不同排名的某些属性比较(c)有序堆叠横条图,除总体比较之外,还可以看到单一属性在总体中的排名(d)自对齐的条形图,适用于跨不同排名的单一属性比较。并联复合时,如图5所示,则是取各属性的加权中最大者来决定各项排名,静态时只显示最大属性的条形图,当鼠标悬浮时,其他属性会以堆叠的方式显示出来。

lineup_1

图4 串联模式下的四种堆叠方式 (a)经典的堆叠横条图(b)分支的堆叠横条图

(c)有序堆叠横条图(d)自对齐的条形图

lineup_0

图5 并联模式下的条形图堆叠:无鼠标悬浮时,只显示最大值的属性的条形图;

当鼠标悬浮时,其他属性被堆叠地显示出来

在LineUp的设计中,用户能够可以通过拖拉某一属性标签的直观地改变其权重,由比分变化所一起的排名变化会被迅速地反映出来。在视觉反馈上,作者设计了两种方式以便用户比较不同的排序结果(满足R10):暂时性视觉提示及持久性视觉编码。在暂时性视觉提示中包括了使用动画来演示排名之间的调换,使用颜色背景来高亮变化(红色背景表示排名下降,绿色背景表示排名上升)。在持久性视觉编码中,作者突出了不同排名结果之间的比较分析功能。如图6所示,将不同的排名结果水平排列,两两之间使用斜线来连接相同的数据性(Slope Graph)。

lineup_0

图6 不同的排名结果水平排列,两两之间使用斜线来连接相同的数据性

LineUp的整体性及延展性

LineUp,在数据方面,当数据中存在着缺失时,作者使用是平均数或中位数来弥补,文中作者表示也开始使用更为复杂的方法(满足R7);在交互设计及可视化形式方面,如何产生、修改及删除一个新的排序结果都是通过鼠标拖-放,点击的方式完成。在每一步交互后,系统就立即给以视觉反馈(满足R8)。在系统的延展性方面:当数据包含属性很多,即水平方向长度很长时,LineUp除了提供使用长度的条形图来编码数值外,还提供了能够将复合属性合多为一的方式及更为节省水平空间的灰度值编码方式;当数据项很多时,即竖直方向长度很长时,LineUp提供了鱼眼视图的功能,在使用了变形的情况下,能够显示出更多的数据项。

小结

LineUp使用简单的视觉形式来编码排名和属性,提供了有效的交互手段,简洁地联系不同的排序结果。用户可以通过创建、修改排序和对比不同排序结果来观察不同属性对排名的影响。LineUp对以上的9条要求(除R9外)都进行了回答。关于R9,如何能够根据给定的一个排序结果,反推出各个属性的权重或值是他们将来的工作。使用熟悉,容易理解的条形图作为形式的主要成分,直观的拖-放操作让LineUp使用起来几乎没有任何门槛;不同属性的任意组合、保留不同的排序结果以及可视化出其中的联系与不同,让LineUp为用户提供了高灵活度的分析平台;动态反馈,动画,流畅的过渡让LineUp不呆板,有趣味性。拥有直观的可视化表达、高灵活度的分析平台以及充满趣味性的交互或许就是LineUp获得2013 InfoVis最佳论文奖的原因吧。

参考文献

[1]S Gratzl, A Lex, N. G. H. P. & Streit, M.. “LineUp: Visual Analysis of Multi-Attribute Rankings”. IEEE Transactions on Visualization and Computer Graphics, 2013

评论关闭。