TreeVersity2 and StemView:可视化动态层次结构上的变化(Visualizing Change over Time Using Dynamic Hierarchies: TreeVersity2 and the StemView)

在现实生活中,分析数据集在时间维度上的变化是一种非常常见的任务。一些任务如分析排名的变化只需要进行简单的数值比较,而更多的时候数据本身是具有结构的,比如:要分析某个网站的网页访问变化情况或者是分析某个机构所获在不同方向的资助变化情况,数据本身的结构使得数据集随时间的变化问题变得具有挑战性。

John Alexis Guerra-Gómez等针对具有层次结构数据的比较问题提出了TreeVersity2[1],TreeVersity2可以在保留结构的基础上分析出数值和拓朴结构的变化。这个工具包含三个部分,每一个部分提供了相对独立的功能,包括Time based visualization,StemView和Reporting tool,接下来将详细进行介。

TreeVersity2

图1. TreeVersity2

 

在这篇文章发表之前,已经有了许多不同形式可视化工具可以用于探索数据间的比较。比如:如图2a所示,用图表依次列出数据集中的所有信息,用颜色表明变化趋势;显然,图表的方式过于简单,对于具有复杂结构的数据是无能为力的;在图2b中,研究人员将点边树上的节点做了相应变化,不仅能展示数据的拓扑信息还能表明变化情况,但是点边树的空间利用率低,限制了展示信息的规模;最后一种是用树图来展示变化情况,如图2c,用户可以看见每个叶节点的变化,但是却不能看到父节点的变化,也就是说不能看见某一方便的整体变化情况。

TreeVersity2_2

图2. 多种形式的比较工具: a) 列表,b) 点变树,c) 空间填充树

 

在设计TreeVersity2之前,作者对在层次结构上的比较任务做了分类,从拓扑变化和数值变化两个维度上将变化分为5种类型,如图3。同时对数值比较进行分析,得出若干种数值比较的需求,如:Direction of change,Percentage change, Relative change,Created and Removed。

TreeVersity_3

图3. 不同层次结构数据比较问题

如上所述,TreeVersity2含有三个组件,首先在最左边提供了一个基于时间的可视化组件。在这个部分中,包含的信息有数据随时间的整体和单个属性的变化情况,最直接的表现手法是折线图,同时另一种形式——TimeBlock直接以颜色提供变化信息。在这个区域最主要的功能是时间的选择,用户可以在不同粒度上选择时间跨度,最大以年为单位,最小以秒为单位。

中间的部分是StemView,展示了数据在层次结构上的变化。StemView利用了空间填充技术 (icicle tree),通过横向切割出多个维度,在不同列上展示具有不同维度的变化信息。如图4a所示,首先将空间以icicle tree的方式进行切割,纵向越深,粒度越细,用一整横行代表所选跨度间数据的变化;然后在每一横行中间插入一条代表数据不变的水平线,如图4b,向上即表示数据增长,向下减少;最后用每一盒子中的色块代表变化情况,高度表示变化百分比,颜色表示变化绝对值等。至于拓扑结构变化的展示方面,作者靠在色块的外圈添加一层白色边缘或黑色边缘,表示增加或删除。通过这样的设计,TreeVersity2展示的数据变化可以是层次数据,展示的元素数目大,同时包含聚集数据的展示,在保持层次结构的基础上,用户能考察不能粒度上的多种变化情况。

TreeVersity2_4

图4. StemView构建过程

为了更方便地使用,作者在最右边提供了Reporting tool,在Reporting tool中提供了筛选和一些具有显著变化元素的提示信息,使得用户能更容易进行数据分析。

在实现方面,TreeVersity2基于B/S结构,在后端使用了Django和PostgreSQL数据库,前端则使用了多种 JavaScript库,包含D3、JQuery UI, RequireJS and LESS等。后续的使用表明TreeVersity2具有良好的柔韧性,足以处理不同领域的数据,论文中提及的12个用例充分说明了这一点。

在US. NCI (National Cancer Institute)用户使用TreeVersity2的用例中,分析者们在TreeVersity2上分析美国1997-2008年的肺病人口死亡率情况,首先将数据按性别、种族等进行切割,再用TreeVersity2进行可视化。通过使用TreeVersity2,分析者们得出了很多结论,首先只有2000年的死亡率增加,然后通过选择相应时间,发现在当年的死亡率中,白人女性贡献最多;同时亚洲男性比女性死亡率下降的更快,然后通过调整层次结构(调整为:性别->种族->国家->等级)验证了这一点,分析者们猜测这可能和校园禁烟运动对象多针对男人的原因。NCI的分析者们对于能够通过这样的交互方式对他们的数据进行探索感到非常兴奋。

通过用例学习,证明了TreeVersity2的实用价值。但是,我们在看到TreeVersity2的实用功能外,也要看到在探索具有复杂数据结构数据的变化上还是具有很多困难,如TreeVersity2在显示更深层次数据时的能力是有限的,详细信息可能需要交互来获取等,这些问题都需要通过进一步的研究来解决。

[1] Guerra-Gomez, J., Pack, M. L., Plaisant, C., & Shneiderman, B. (2013). Visualizing Change over Time Using Dynamic Hierarchies: TreeVersity2 and the StemView. Visualization and Computer Graphics, IEEE Transactions on19(12), 2566-2575.

 

评论关闭。