2019浙江大学可视化暑期学校-第五天

课程:树图与网络可视化

讲师:周志光

讲师简介:浙江财经大学副教授,软件工程系主任,浙江省高校青年英才计划获得者。毕业于浙江大学CAD&CG国家重点实验室,主要研究方向为数据可视化、可视分析、经济数据分析与挖掘等。

课程简介:本课程主要介绍了层次结构数据和网络数据的可视化方法并比较其优势和缺点,结合周老师自身参与的项目实例介绍了可视化开发设计的常用方法。此外,还介绍了可视化设计中的一些工具软件。

图1 本次课程内容概要

1. 层次数据可视化

(1)层次数据的定义:即侧重于对象之间的层次关系的数据。包括社会关系、信息组织和逻辑结构等。

图2 公司组织结构图(层次数据)

(2)层次数据可视化方法
层次数据可视化方法主要有三种:节点链接图、空间填充法、混合法。

节点链接图又分为正交布局和圆形布局。正交布局包括电路图、缩进图和树形图,圆形布局包括径向树和双曲树。电路图的优点是正交且节省空间,缺点是对电脑友好,但对用户不友好。缩进图的优点易于实施,可以应用于纯文本或HTML,缺点是大数据浏览需要大量滚动,而且可能会丢失上下文。比起正交布局,圆形布局的空间利用率更高。

图3 节点链接图 分类

节点链接法实例:

把代码运行过程中的异常调用抽象为树状结构,根据树状结构之间的关系投影到二维平面的散点图[1];为了找出多元图中节点之间存在的多维属性信息,通过找图的邻接关系构成树状结构进而构建层次关系和对应邻接矩阵来观察特征信息[2];用节点链接图展示英国财政支出。

图4 英国财政支出图

空间填充法中主要以树图为主。树图法采用矩形表示层次结构里的节点,父子节点之间的层次关系用矩形之间的相互嵌套隐喻来表达,这种方法可以充分利用所有的屏幕空间。

图5 树图示意图

但是树图法也有自己的缺点:简单的切片和划分方法导致产生了细长的小矩阵,用户与这样的节点交互比较困难。针对这一情况,张昕和袁晓如对树图进行了扩展[3]。此外,还介绍了Voronoi树图、NMap树图[4]、Bubble树图[5]和Temporal树图[6]

节点链接法能清晰、直观地显示层次结构,而空间填充法能有效地利用空间,从而支持大规模的层次数据,将两者结合,可以结合双方的优势,但缺点是产生的可视化结果相对复杂。

图6 树图扩展方法在各方面性能分析

(3)实际项目例子:家谱数据可视化
收集1749-1909年中国辽宁多代人口数据,将该数据合理地可视化呈现并由相关领域专家分析其内在的模式与规律。

图7 家谱数据可视化分析任务

2. 网络数据可视化

(1)网络数据的定义:树型结构表达了层次结构关系,而不具备层次结构的关系数据,可统称为网络数据。比起层次数据,网络数据表达更复杂和灵活的关系。

图8 移动专利诉讼关系(网络数据)

(2)网络数据可视化方法
网络数据可视化方法分为三种:节点链接图、邻接矩阵和混合法。

节点链接图又分为Sugiyam表达、力引导布局法和其他方法。Sugiyam的优点是实现容易、可读性强,缺点是不适合无内在顺序的数据。力引导布局法的优点在于适用于任何类型的数据、易于实施,缺点是最终结果与图的初始布局有关、而且计算复杂度比较高。节点链接法的一个变种是弧长链接图(弦图)。它采用一维布局 方式,即节点沿某个线性轴或环状排列,圆弧表达节点之间的链接关系,在节点良好排序之后可清晰地呈现环和桥的结构。

图9 弦图

邻接矩阵的表达简单易用:可以用数值矩阵,也可以将数值映射到色彩空间表达。邻接矩阵法可显著表达节点之间的直接关系、可以完全规避边的交叉,而且由于其允许交互的聚类和排序,使得邻接矩阵法也适用于网络结构的深层次探索。邻接矩阵法的缺点是对于间接关系,也就是关系传递性的可视表达比较薄弱,而且可视化结果也比较抽象,不易于观察者理解。

图10 邻接矩阵示意图

节点链接布局适用于节点规模大但边关系较为简单,并且能从布局中看出图的拓扑结构的网络数据;而邻接矩阵恰恰相反,适用于节点规模较小,但边关系复杂,甚至是两两节点之间都存在关系的数据。采用混合两种方法的布局以取长补短。

图11 混合布局方法[7]

3.可视化工具与应用

Tulip:信息可视化框架,专门用于分析和可视化关系数据。
Gource Software Version Control Visualization:用于可视化显示开发人员对项目做出贡献的视频。
Gephi:用于各种图形和网络的领先的可视化和探索软件。


[1]Cong X , Wei X , Klaus M . A Visual Analytics Framework for the Detection of Anomalous Call Stack Trees in High Performance Computing Applications[J]. IEEE Transactions on Visualization and Computer Graphics, 2018:1-1.
[2]Nobre C , Streit M , Lex A . Juniper: A Tree+ Table Approach to Multivariate Graph Visualization[J]. IEEE Transactions on Visualization and Computer Graphics, 2018:1-1.
[3]张昕, 袁晓如. 树图可视化[J]. 计算机辅助设计与图形学学报, 2012, 24(9):1113-1124.
[4]Duarte F S L G , Sikansi F , Fatore F M , et al. Nmap: A Novel Neighborhood Preservation Space-filling Algorithm[J]. IEEE Transactions on Visualization and Computer Graphics, 2014, 20(12):2063-2071.
[5]Gortler J , Schulz C , Weiskopf D , et al. Bubble Treemaps for Uncertainty Visualization[J]. IEEE Transactions on Visualization and Computer Graphics, 2018, 24(1):719-728.
[6]Wiebke K , Tino W . Temporal Treemaps: Static Visualization of Evolving Trees[J]. IEEE Transactions on Visualization and Computer Graphics, 2018:1-1.
[7]Henry N , Fekete J D , Mcguffin M . NodeTrix: a Hybrid Visualization of Social Networks[J]. IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, 2007, 13(6):1302-1309.