1、层次数据可视化 计算机系 胡事民 清华大学“大数据”系列课程大纲 层次数据 层次数据的可视化 节点链接法及其应用 空间填充法及其应用 混合型层次数据 层次数据着重表现个体之间的层次关系 自然世界和社会关系中的包含和从属关系 组织信息 文件列表 物种发展 逻辑承接关系 决策树 我们通过分类来理解事物,层次结构是我们认知行为的基础 Peter Morville公 司 组 织 结 构 图 http:/ 六大计算机公司的组织结构图,生动地反映了独特的企业文化: 亚马逊有严格的等级制度;谷歌也 有清晰等级,但部门之间相互交错,由google 的三驾马车CEO 埃里克 施密特(Eric Schmidt )
2、、 Google 联合创始人拉里 佩奇(Larry Page )和塞吉 布林(Sergey Brin )共同领导;Facebook 像一张 分布式网络;微软各自占山为王,且相互竞争,但其实应该更接近于Apple的情况,即以扎克伯格 为核心;苹果是各小团队相互平等灵活作战,但乔布斯的 作用非常明显;甲骨文法务部门远大于工 程部门国 内 版 1.腾讯,产品与部门关系 千丝万缕,QQ 是所有产 品与服务的基石。 2.百度崇尚简单; 3.华为,技术创新引发矩 阵结构变化; 4.阿里巴巴,马云的影子 无时无处不在; 5.360掐架大王,总要有 人在后面擦屁股 来源:第一财经周刊和岑峰Tables 家谱树
3、 GeneaQuilts家谱树 A. Bezerianos, P. Dragicevic, J.-D. Fekete, J. Bae, B. Watson. GeneaQuilts: A System for Exploring Large Genealogies 希腊神话中众神的家谱(局部),其中字母 F 表示一个由父母(在字母F 之上的黑色圆点) 和子女(在字母F 之下的黑色圆点)组成的 家庭。物种发展 数据来源:http:/tolweb.org/tree/ 图片来源:http:/ 这棵树清晰地呈现了不同物种之间的遗传关系,所有物种通过生物发展史的基因链接关系相连。 本数据包含93891个
4、物种,占今天地球上的1 亿物种的极小部分。根节点“Life on Earth ( 红色字体) 被置于树的 西南角,它的西南方向链接了Green plants (绿色植物,绿色)分支,东南方向链接了Protista (原生动物, 淡红色)分支,西北方向链接的是Fungi (菌类,黄色)分支。思维导图图论基础 树 vs. 图 图 图G由一个顶点(或节点)集合V和一个边集合E组成 每条边e xy =(x, y)连接图G的两个顶点x, y 例如 :V=1,2,3,4, E=(1,2),(1,3),(2,3),(3,4),(4,1) 连接顶点的边的个数成为该顶点的度图论基础 树 vs. 图 树 连通的无
5、环图称为树 除根之外,度1 的顶点称为叶子,度1的顶点称为分 支点或者内点 根节点没有父节点,其余都有 一个与之相连的父节点 每个节点可以有若干子节点, 同层同父节点的节点称为兄弟节点 从根节点到某个特定节点之间 的连接数量,成为该节点深度 相同深度节点数,成为该层的广度 叶子 分支点 根有向图 无向图 加权图 非连通图 顶点的度 回路 无回路图 无回路连通图 (树) 具有根结点 的树 节点的深度层次数据的可视化层次数据的可视化 节点链接法(Structure-clarity) 节点链接树 双曲树 三维树 空间填充法(space-efficiency) 树图(Treemap) Voronoi树
6、图 混合型Jrgensmann 和Schulz 对树结构可视化技术进行了总结和分类,并制作了海报。他们采用的分类思路与上面介绍的基 本一致:显性,隐性与混合三种。显性方法基本等同于节点链接法,而隐性方法则对应空间填充法。在此基础上, 根据空间维度(二维或三维)及布局方法(正交、径向、自由布局)做了更进一步分类。这样的层层分类本身也是 一个层次结构,可采用空间填充方法进行可视化。作品赢得了2010 年IEEE InfoVis 会议的最佳海报奖,其后又演化成 在线互动版(http:/)节点与链接的布局 正交布局 电路图(circuits) 缩进图(indent) 聚类树(dendrogram) 冰
7、柱图(icicle) 径向布局(辐射型) 径向布局图(Radial layout) 双曲树(Hyperbolic tree) 自由布局 dendrogram RadialIcicle indent Tree radial sunburst正交布局 节点在放置的时候都按照水平或垂直对齐 电路图例外 方向与坐标轴一致的,布局规则 与视觉识别习惯吻合,非常直观 缺点 对于大型的层次结构,特别是广度比较大的层次结 构,这样的布局会导致不合理的长宽比电路图 正交且空间高效 对机器友好,对用户不友好 电磁炉的电路图H树图 仅对二叉树有较好的效果缩进图 快速并易于实现 可以使用纯文本(或HTML ) 浏览大
8、数据时需要很多滚动操作 容易失去上下文 Flare软件包的子目录结构 http:/hci.stanford.edu/jheer/files/zoo/家狗的不同物种 的单倍体基因序 列的比较分析 Kerstin Lindblad-Toh et al. Nature 438, 803-819 (8 December 2005) 聚类树http:/ 美国铁路的兼并 美国曾经也是个大量依赖铁路货运的国家。货运公司遍布全国。但是近50 年来,这 些公司互相兼并。上面的可视化来自财富杂志的美术总监Nicolas Rapp的文章The Battle of The Rails。他用这样一个类似树状的结构很清晰
9、的展示了铁路公司兼并的 历史。在80年代,这许多公司在大量的兼并之后,只剩下屈指可数的7 家。而现在上 图中用红线标出区区四家占了全国铁路货运的九成。印欧语系冰柱图 常用于聚类分析,展现层次聚类结果 https:/hci.stanford.edu/jheer/files/zoo/ex/hierarchies/icicle.png正交布局的一般实现 简单的递归实现 根据树的深度将空间沿纵轴平均分成等高的区域。 每个区域对应树的一层。树中相同深度的节点属于 同一层。 根据叶节点的数量,将对应的区域沿横轴平均分成 等宽的区域。 将节点布置在每个区域的中心。 在节点和它的父节点之间连线。Reingol
10、d-Tilford树算法 标准: 所有节点按照在树中的层次进行分层绘制 避免边相交 相似的子树用相似(或镜像)进行表达 表达紧凑 基本方法: 自底向上递归计算 对于每个父节点,确保子树已完全绘制 尽可能紧致地包装子树 将父节点放在子树的中心位置Reingold-Tilford树算法 自底向上递归计算: 对树进行后序遍历 这样对于父节点,在遍历到的时候可以确保其 左右子树都已经布局完毕。 对于每个父节点,确保子树已完全绘制 通过这样的绘制顺序可以保证结构相同的子树拥有 相同的表示因为每个子树的绘制过程都不会受 到子树外元素的影响。Reingold-Tilford树算法 尽可能紧致地包装子树 对于
11、每一个节点,计算其左子树的右轮廓与右子树 的左轮廓,并调整左右子树的位置直至两者刚好错 开一个预先设定的阈值r为止。 随后将父节点放在左右子树的中心位置 可以推广至多叉树Reingold-Tilford树生成径向布局 更加合理地利用空间 根节点位于圆心,不同层次的节点被放置在半 径不同的同心圆上 节点到圆心的距离对应于它的深度 满足树结构节点数量随层次而增加的特点 与正交分布在每一层上对于空间的分割类似,一个 同心圆被划分为不同区间,分别对应于该层不同的 节点。由于同心圆的周长随着半径增长,越深的层 就有越多的空间来放置节点。满足了树里面节点数 量随着层次而增加的特点径向布局 Radial h
12、ttp:/flare.prefuse.org/demoFlare 软件包的目录结构 http:/hci.stanford.edu/jheer/files/zoo/食物搭配图 https:/ 什么食物一起吃最搭呢?比如,北京烤 鸭配啥比较好吃呢? 是 专门提供这样信息的网站。为了让用户 能更方便的找到想要的搭配,他们采用 了可视化的方法,把事物之间的搭配关 系用互动的树图来表示。 你选择的主料或者主食显示在中间,作 为树的根。然后在它的四周放射状的排 放与之最搭配的食物。他们和主食之间 用漂亮简洁的弧线相连,就好比树上伸 出的枝桠。整个空间又按照食物的类别 划分成不同的区域,比如,肉类,酱料,
13、蔬菜,面食,等等。每个区域里显示的 是某个类别中最搭的两种食物。你也可 以点击放大,只显示某一类中所有可以 搭配的食物。三维树(Cone-Tree) George Robertson, Jock D. Mackinlay, Stuart Card. Cone Trees: Animated 3D Visualizations of Hierarchical Information. In Proceedings of the ACM CHI 91 Human Factors in Computing Systems Conference, pages 189- 194, April 28 -
14、June 5, 1991, New Orleans, Louisiana, June 1991. Association for Computing Machinery三维树(Cone-Tree) 基本思想: 在布局中增加一个维度 保留了自顶向下的特性 更接近中心的节点更容易被注意到 父节点与子节点呈圆锥状排布 兄弟节点落在同一个平面上。三维树(Cone-Tree):分析 优点: 空间利用更加充分 可以使用平滑的动画让用户捕捉到变化 美即正义 缺点: 3D情景下难以避免节点间相互重叠 需要3D 渲染,交互情景下难以在移动端保证性能。双曲树 将节点在双曲空间分布(节点数随深度呈几何 级数增长)
15、海象(双曲空间) 人物树谱的双曲树可视化一维双曲空间的投影模型 添加交互以移动焦点双曲树:分析 鱼眼特性 焦点变化时可以平滑过渡 节点距离焦点过远时应当直接略去 否则会有大量节点堆积在画布边缘 因而通常情况下这一方法只支持2-3代的绘制双曲树示例鱼眼变形 DOI树(节点过滤) 节点-链接图的问题 节点数随着深度增加呈几何级数增长 解决方案交互 使用变形(焦点技术) 对节点进行过滤(简要表现上下文) 被用户选中的节点所在的子树被放大,而其它节点则用 尽量简略的方式显示,甚至相互重叠,减少他们占用的 空间,从而提高整体的空间利用效率。空间树 Space Tree (Grosjea, et al., 2002) 树的展示根据用户的需求进行动态的调整 支持实时的查找并根据查找来调整树的展示视频演示(空间树)DOI 树TreeBlock 开放目录项目的DOI树可视化 http:/vis.stanford.edu/papers/doitrees-revisited