摘要:日常生活中,我们经常会看到、使用或遇到各类排序表格,当数据项属性很复杂时,理解并展示多属性的变动就变得困难,多属性排序可视化技术有哪些呢本周,百度EFE团队将为我们介绍多属性排序可视化的现实需求,进而引出一种用来创建、可视化、探究多属性数据项排序的交互技术——Line Up。
那么,多属性排序可视化工具需要解决的现实需求究竟有哪些呢今天,我们将为你揭晓。
什么是多属性排序可视化
在我们的日常生活中经常会遇到各种各样的排序列表,排序是将无序的数据项集合重组的普遍方式,它基于数据项的单个或多个属性值为数据项计算一个排名。多属性排序是普遍存在的,在多属性排序中,我们无法直观理解单个属性对排序所做的贡献以及单个或多个属性的变动是如何影响排序的。
具体来说,多属性排序可视化工具需要解决的问题为:
1、当诠释一组排序时,我们想知道为什么一个数据项的排名比其他项要低(高),是因为它的所有属性值都低(高)还是因为它的某个属性值较低(高)。
2、如何使得不同类型的属性之间具有可比性,并且组合在一起产生一个排名。
3、 如何比较同一个数据项的不同排名,如修改一个数据项的属性,它的排名会相应变化,我们希望比较这些变化的排名。
4、如果可以修改排序中单个或多个数据项的属性,我们希望探究属性值改变所产生的效果。
这篇文章中将介绍对多属性排序可视化的需求所作的全面分析,以及全新的多属性组合排序可视分析技术LineUp的设计与实现。
多属性排序可视化的需求
1、排名的可视编码:可视化的用户能够快速地理解单个数据项的排名。
2、排名由来的可视编码:也就是对排名所依赖的属性值进行编码。
3、支持多重属性:支持基于多重属性的排序,允许用户将任意的几个属性组合,从而产生一个综合的排名。
4、支持过滤:用户可以过滤出满足特定条件的数据项。
5、属性值的标准化:数据项的属性可以是不同类型的(数值型或有序型)、不同规模的(0到1之间或无限的)、不同语意的(对有的属性来说值越高越好,然而对于其他属性来说可能值越低越好)。因此排序可视化必须允许用户灵活地将属性值进行标准化,如将其映射到0到1之间,从而获得一个标准化的分数。
6、 适应任务的可扩展性:当数据量以及属性个数改变时,该可视化技术也能很好地工作。
7、处理缺失值:现实世界中的数据集大多是不完整的,因此一个精心设计的可视化技术,应该包含处理缺失值的方法。
8、交互的改进以及可视反馈:排序可视化要确保用户能够动态地增加和删除属性、修改属性组合、改变属性的权重、以及属性的映射,并且能够以可视化的形式直观地反映这种变化产生的效果。
9、排名驱动的属性优化:优化属性的值和权重以得到一个数据项的最佳排名。
10、比较多重排名:比较同一组数据对象的不同排名,如研究同一组大学过去十年内排名的变化。
多属性排序可视化技术
LineUp是一种用来创建、可视化、探究多属性数据项排序的交互技术,该技术基于不同形态的柱状图,本文以《泰晤士报》评选出的前100强大学中的50强为例。
如图1,其中排名列显示了数据项的排名;文本属性列是对数据项的说明;数值属性列以柱状图的形式编码了属性值的大小,并且在每一列的列头不仅包含了属性的名称还包括属性值分布的柱状图。
组合属性列是对数值属性的组合,组合属性列头部的灰色柱状图表示组合属性得分的分布情况。下面将详细介绍基于上文提出的需求所实现的一些关键技术。
组合属性
LineUp有两种组合属性的方式,分别是串行组合和并行组合。
串行组合中属性的组合得分是单个属性标准化值的加权求和,以堆叠柱状图编码串行组合属性,柱状条的长度编码了数据项的排名,柱状条越长排名越靠前,柱状条中不同颜色的组成部分编码了不同的属性并且它的宽度编码了属性所占的权重,可以通过拖动改变不同组成成分所占的宽度或者双击列头的百分比修改单个属性所占的权重,图1就是串行组合的方式。
堆叠的柱状图使得用户无法直观地比较不同数据项的同一个属性,因此LineUp实现了四种不同的对齐策略,如图2。
图2
其中:(a)是经典的堆叠柱状图,以第一个属性作为基线;(b)是分叉的堆叠柱状图,可以以任意属性作为基线;(c)是有序的堆叠柱状图,其中每一个柱状条的不同组成成分按其大小进行排序;(d)是全对齐的柱状图,每一个属性都有基线都是对齐的。
并行组合与串行组合不同,它的排名是由组合属性中最大的标准化属性值决定的,并且只有在选中某个数据项的情况下,组合属性中对排名没有贡献的其他属性才会显示出来,图3是一个并行组合。
图3
其中的绿色柱状条代表具有最大标准化属性值的属性,当选中某一个数据项时,其他属性会在该属性的上方显示,如图中绿色柱状条上方的紫色和黄色柱状条,这些柱状条是按其长度排序的,长度编码了属性值的大小。
编码排名的变化
当用户交互地改变属性的权重、设置过滤、创建或改善组合属性,LineUp通过动画过渡和颜色编码提供数据项排名变化的可视反馈,如图4,排名列的绿色编码了同一数据项排名的上升,红色编码了排名的下降。
图4
LineUp用水平斜线将同一数据项的不同排名连接在一起,以分析数据项排名的变化,图4显示的是分析两组不同的排名,图5显示的是分析多组不同的排名,其中连接的斜线被当作排名的分隔符。
图5
为了方便用户追踪所作的改变对排名的影响,LineUp可以生成单个属性或组合属性的快照,图4左边的部分就是对右边部分的一个快照,用户可以修改快照中属性的值和权重,将得到的排名与右边的最初排名进行比较。
属性值的映射
属性值的映射是指将数值属性或有序属性标准化到0-1区间的过程,LineUp提供了一种全新的可视数据映射编辑器,包括平行映射编辑器和正交映射编辑器两种形式。
平行映射编辑器上方的柱状图表示标准化后值的分布,下方的柱状图表示原生属性值的分布,用连线将其一一对应,图6(a)是默认的映射;图6(b)通过移动原生属性值的最大和最小值标记,将原生属性值的某一范围映射到0-1区间;图6(c)表示的是绝对映射。
图6
正交映射编辑器水平方向的柱状图表示原生属性值的分布,垂直方向的柱状图表示标准化后值的分布,同样是以连线的方式一一对应的,图6(d)-(f)与图6(a)-(c)的映射结果是一样的。
总结
总的来说,LineUp是一种有效地创建、分析、比较多属性排序的可视化技术,能够解决多属性排序的绝大多数需求。并且它是领域无关的,能够解决不同领域的多属性排序问题。
作者简介
百度EFE团队。前身是ECOM前端团队,后经过技术的发展,逐渐形成一套完善的前端技术体系。EFE技术体系现由多个遵循该技术体系的前端团队所组成。E(Excellent)代表我们追求卓越的技术态度。目前,百度EFE团队有60多位前端工程师,其中高级和资深工程师占70%以上。本文转自镝次元数据新闻。
Echarts作为开源的商业级数据图表,被认为是“对数据图标的重新定义”,除了输出Echarts和百度图说外,在移动开发、NodeJS、WebGL也有大量实际运用和输出
本文采用「CC BY-SA 4.0 CN」协议转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请给「我们」留言处理。