读数据可视化19层次数据

1. 层次数据
1.1. 现实世界中很多数据或者数据的某一部分都有内在的层次结构
1.2. 层次数据
-
1.2.1. 包含和从属
-
1.2.2. 是一种常见的数据类型,着重表达个体之间的层次关系
-
1.2.3. 地球有七大洲,每个洲包含若干国家,而每个国家又划分为若干省市
-
1.2.4. 在社会组织或者机构里,同样存在着分层的从属关系
-
1.2.5. 在人们组织和认知信息的时候,层次结构也常常被用到
-
1.2.6. 当人们进行记忆和思维发散时,层次结构也能发挥很大的辅助作用
-
1.2.7. 采用多层级的结构对个体进行分类更是图书文献、分类学、物种发展史等学科的核心
-
1.2.8. 层次结构也可以表示逻辑上的承接关系
-
1.2.9. 家谱是描述一个家族里父母与子女关系的图,它其实也是一种前后承接的层次关系
1.3. 层次结构
-
1.3.1. 可以被抽象成树型(Tree)结构,它是以分支关系定义的非线性结构
-
1.3.2. 树是图(Graph)的一个特例,是只存在父节点和子节点之间连接的图
-
1.3.3. 在一棵树里,只有根节点没有父节点,其余节点有且仅有一个与之相连的父节点
-
1.3.4. 没有子节点的节点称为叶节点,同一个层次具有相同父节点的节点称为兄弟节点,每一个节点都可以有若干个子节点
-
1.3.5. 从根节点到某个特定节点之间的连接数量,称为该节点的深度
-
1.3.6. 具有相同深度的节点数,称为该层的广度
2. 层次数据的可视化
2.1. 层次数据可视化的要点是对数据中层次关系(即树型结构)的有效刻画
2.2. 节点-链接
-
2.2.1. Node-link
-
2.2.2. 将单个个体绘制成一个节点,节点之间的连线表示个体之间的层次关系
-
2.2.3. 代表技术有空间树、圆锥树等
-
2.2.4. 方法直观清晰,特别擅长于表示承接的层次关系
-
2.2.5. 当个体数目太多,特别是广度和深度相差较大时,节点-链接方法的可读性较差
-
2.2.6. 大量数据点聚集在屏幕局部范围,难以高效地利用有限的屏幕空间
2.3. 空间填充
-
2.3.1. Space-filling
-
2.3.2. 用空间中的分块区域表示数据中的个体,并用外层区域对内层区域的包围表示彼此之间的层次关系
-
2.3.3. 更适合于显示包含和从属的关系,且具有高效的屏幕空间利用率,可呈现更多的数据
-
2.3.4. 缺点在于数据中的层次信息表达不如节点-链接法清晰
2.4. 采用混合前两种方法的思路
3. 节点-链接法
3.1. 核心问题是如何在屏幕上放置节点,以及如何绘制节点及节点之间的链接关系
3.2. 节点的放置方式取决于具体应用的需求,选择什么样的形状或图示表示节点则通常取决于节点所要表现的内容
3.3. 节点位置的空间顺序和层次关系一致
-
3.3.1. 层次关系其实是一种有向的关系,表达这种关系,例如水平延伸、垂直延伸、径向延伸等,则可避免使用箭头来标识方向
-
3.3.2. 不但减轻了用户的视觉负担,也提高了空间利用率
3.4. 减少连线之间的交叉
- 3.4.1. 过多的连线交叉会干扰用户对关系的解读
3.5. 减少连线的总长度
- 3.5.1. 连线越长越容易造成解读错误,这意味着具有链接关系的节点应尽可能靠近
3.6. 可视化应该有一个合适的长宽比,以便优化空间的利用
3.7. 缩进法
- 3.7.1. 纵横轴布局算法的最简单方法是在二维平面上,沿某个轴扩充或缩进子节点,同一层次的节点则沿另一个轴展开或收拢
3.8. 纵横轴布局算法
- 3.8.1. 算法的要点是:自底向上递归计算;对于每个父节点,确保子树已被绘制;采用二维形状的包围盒技术尽可能紧致地包裹子树,并用来指导两棵子树的靠拢;将父节点放在各子树的中心位置
3.9. 电路图,它是正交的且有很好的长宽比,并且能够高效地利用有限的空间,同时它也存在对用户不友好的问题,节点与连线太过紧凑,只对机器友好
3.10. 径向布局
-
3.10.1. 采用径向布局克服空间浪费的问题
-
3.10.2. 根节点位于圆心,不同层次的节点被放置在半径不同的同心圆上
3.11. 圆锥树(Cone Tree)是一种在三维空间可视化层次数据的技术,它结合了径向布局和正交布局两种思想
3.12. 在径向树中,圆周的大小随层次深度的增加而线性增长,而树节点则往往呈几何级数增长
3.13. “焦点+上下文”(Focus+Context)技术,以有效地利用空间,重点呈现用户关心的重要数据,同时简要地表现上下文信息
3.14. 兴趣度树(DOI Tree):被用户选中的节点所在的子树被放大,而其他节点则用尽量简略的方式显示,甚至相互重叠,减少它们占用的空间,从而提高整体的空间利用效率
4. 空间填充法
4.1. 由Johnson和Schneiderman在20世纪90年代初发明的树图(Treemap)从空间填充的角度实现层次数据的可视化
4.2. 树图法采用矩形表示层次结构里的节点,父子节点之间的层次关系用矩形之间的相互嵌套隐喻来表达。此方法可以充分利用所有的屏幕空间
4.3. 树图可视化的一个核心问题是在递归地分割空间时采用分割方法分割得到的矩形树图的视觉质量通常通过矩形的长宽比来度量
4.4. 根据Johnson和Schneiderman发明的交替纵横切分法(Slice-and-Dice),在整个递归过程中,空间依次交替着被横切或者纵切
4.5. 正等分法(Squarified)可有效地改进视觉体验和可视化效果
4.6. 当树图的输入数据发生变化时,则需要通过另一个质量标准对生成的树图进行度量,即树图的稳定性—树图随着数据的变化会发生多大的变化
4.7. Tulip
- 4.7.1. 开源软件的文件系统层次结构可视化
4.8. 当节点本身带有属性或权重的时候,树图法允许用大小或颜色来表示这些属性,以便用户直观地观察比重比较大的节点
4.9. 由于树图法直观、有效、易于实现,在现实世界中被广泛采用
4.10. 树图法的一个成功实例是2004年推出的实时显示来自Google News的新闻的Newsmap系统
5. 径向布局
5.1. 另一种空间填充法是在分配空间和划分区域的时候采用和径向树类似的放射状布局
5.2. 最早由Brian Johnson以树图的扩展提出,称为径向树图(Polar Treemap)
5.3. John Stasko等人在2000年提出了更完整的设计,称旭日图(Sunburst)
- 5.3.1. 在旭日图中,中心的圆代表根节点,各个层次用同心圆环表示
6. 其他方法
6.1. 节点-链接法和空间填充法各有优缺点:节点-链接法能清晰、直观地显示层次结构,而空间填充法能有效地利用空间,从而支持大规模的层次数据
6.2. 相邻层次图(Adjacency Diagram)是节点-链接法的空间填充变种:采用填充的区域(弧或柱状区域)表达节点,相邻节点之间的位置关系则编码了彼此之间的层次关系
6.3. 弹性层次法是另一种混合可视化方法
浙公网安备 33010602011771号