zoukankan      html  css  js  c++  java
  • 关于节点连接图的一些认识

      在上一篇BLOG中,老师的几句话让我突然明白:我又跑偏了 ̄□ ̄||!!!我的目标是3D化的节点连接图啊!

      这几天按照老师的问题开始寻找我任务的目标,刚开始很蒙圈,什么也没搜到,看到了好多可视化图形生成工具,例如:知微、.独到、大数据魔镜.......,然后看了几篇论文,感觉不明所以,好像也跟我目标没啥关系-_-||,然后一上午就不知不觉过去了,我发现自己不知道做了什么(我是谁?我在哪?我在做什么?(ŎдŎ;))。但下午的一篇论文让我找到了我需要的东西( ̄▽ ̄)~*

      这篇论文是Jeffrey Heer, Michael Bostock, and Vadim Ogievetsky写的一篇关于简单介绍可视化的论文A Tour Through the Visualization Zoon

      1.节点连接图主要用于表达什么类型的数据?

      首先我觉得节点连接图适用于表现实体之间的关系。后来在一些文章中看到节点连接图适用于图形数据的可视化和层次数据可视化。

      图形(graph) 是在我们生活中常常用来描述关系型数据的一个基本结构,比如生活中的社交网络数据,就是一个巨大的图形数据。每个点就表示一个人,而每个点之间的连线就是表示两个人之间存在朋友的关系。

      层次数据表现为包含、从属、承接(决策树、家谱)关系。虽然有些数据只是一个数字的平面集合,但大多数数据可以组织成自然层次结构。例如:空间实体,如县,州和国家; 企业和政府的指挥结构; 软件包和系统发育树。

     

      2.除了节点连接图,还有什么方式可以表达多元连接关系或者图数据?(这个问题好像直接告诉我节点连接图适用于表达多元连接关系或者图数据(=ω=;))

      空间填充方法(Space-filling)、混合型、Matrix Base Visualization (矩阵图)、Arc Diagram(拱门图)、相邻层次图(adjacency diagrams)、弹性层次法、扩展的旭日图法(最后三个不知道是不是,不太确定)

     

      3.节点链接图有哪些致命的缺点?(提示:毛线团)对此有哪些优化方法?(提示:分层显示、布局算法、边邦定算法、交互方法、or more)

       缺点:广度和深度相差较大时,此方法可读性较差,大量数据点聚集在屏幕局部范围,难以高效利用有限的屏幕空间

       优化方法:(来源:数据可视化笔记

    • 节点位置的空间顺序和层次关系一致
    • 减少连线之间的交叉
    • 减少连线的总长度
    • 合适的长宽比,优化空间利用(数据-墨水原则)

    缩进法

    • 利用纵横布局算法,沿某个轴扩充或缩进子节点,同一层次节点在另一个轴展开
    • 缺点:数据量大时,需要很多滚动操作

    正交布局

    • 特点:与坐标轴一致,符合人视觉的规则布局
    • 擅长: 广度比较大的层次结构
    • 缺点: 容易导致不合理的长宽比, 造成数据显示空间不足和屏幕空间的浪费

    径向布局

    * 根节点位于圆心,不同层次的节点被放置在半径不同的同心圆上,节点到圆心的距离对应于它的深度
    * 优点:合理的利用了空间
    
    • 环状径向树法
      • 随着层次的深入,子节点的空间占位逐渐变小
    • 圆锥法
      • 在三维空间可视化层次数据,结合径向布局和正交布局

    常规的径向图布局树节点往往呈几何倍的增长。而如果布局空间不是欧式空间,而为双曲空间,则圆周随半径的增加呈几何倍的增长,从而保证父节点与子节点有足够的距离。

    大尺度的层次结构,无法避免节点的重叠。解决方法:

    • 焦点+上下文
    • 兴趣度树(DOI Tree)

     

      4.常有将几种可视化设计复合在一起,从而创造新的可视化设计的方式。例如NodeTrix,将节点连接图与邻接矩阵复合在了一起。你能找到其他更多的,节点连接图与其他可视化方法混搭的例子吗?

      利用节点链接法和空间填充法的互补性,在空间填充图中嵌入节点链接图,或是对节点链接的某些分支使用空间填充图

      5.有别人实现3D的节点连接图吗?有什么独特的优势?

      目前还没找到/(ㄒoㄒ)/~~

      这篇BLOG还有很多不完善的地方,看到好的信息还会继续修改~~,以下还有一些参考的链接:

      浅谈网络数据的可视化技术上

      浅谈网络数据的可视化技术下

      

  • 相关阅读:
    Git从入门到放弃
    Flex布局
    网络模型与TCP协议
    命令行技巧
    React环境搭建及部署
    Vue环境搭建及部署
    Python 集合set()
    Python-100天代码
    删除Windows启动管理器下的加载项
    windos7操作系统下easyBCD2.3安装Ubuntu18.04.1-desktop-amd64.iso双系统
  • 原文地址:https://www.cnblogs.com/wsyblog/p/8745042.html
Copyright © 2011-2022 走看看