可视化学习:可视化布局方法简介及优缺点
可视化布局方法
- 一、物理布局
- 二、逻辑布局
- 1.力导引布局算法
- 2.圆形布局算法
- 3.树型布局算法
- 4.射线型布局算法(树型布局的优化)
- 5.层次型布局算法
- 6.网格型布局算法
- 7.启发式布局算法
- 补充
一、物理布局
- 地理位置映射算法
- 将已知实际地理坐标的网络节点和连接按照地理相对位置和一定比例映射出来。适合具有较强地理位置属性的主干网络,不适合地理位置属性较弱的局部网络。
二、逻辑布局
1.力导引布局算法
- 将网络拓扑中的节点想象成一个钢圈,将拓扑中的边想象成一个弹簧。每个钢圈拥有一个初始位置,通过弹簧的拉伸将钢圈的位置改变从而保证整体的势能最小。力导引布局算法的核心是计算节点之间的斥力引力。有边相连的节点之间具有引力;任意两个节点之间具有斥力。
- 温度系数常量:模拟节点移动的幅度,随着迭代次数增加而减小。最终达到平衡。
- 优点:以物理模型为基础,保证节点的布置均匀、稳定;连接边交叉、节点重合的情况很少,布局更加美观。
- 缺点:算法复杂度较大,不适用于大型网络拓扑的布局;并且由于力导引算法看重布局上的平衡和美观,也在一定程度上遮掩了网络拓扑原来的拓扑特性。
- 改进:
- (1) 基于弹力模型的改进算法(KK),在弹力模型基础上加入胡克定律,降低了系统能量。
- (2) 经典的FR算法,将节点看作原子,加入原子之间的静电力,通过计算系统的总能量并使得能量最小化,从而达到布局的目的。这种改进的能量模型,可看成弹簧模型的一般化。
2.圆形布局算法
- 通过节点属性将节点放置在不同的圆周处以获取不同的层次效果。对于圆心处放置属性值最大的节点,最小的圆周放置属性值次大的多个节点,依次类推,最大圆周放置属性值最小的那些节点。
- 优点:算法简单容易实现,比较适合社交网络、邮件网络中关键人物的特征展示,体现出层次关系,突出中心。
- 缺点:只关心网络的层次关系。
3.树型布局算法
- 选取根节点,从该节点出发通过连接关系设置子节点,以此类推。还要设置根节点和子节点、子节点和子节点之间的距离(坐标)。
- 优点:算法简单容易实现,收敛速度快、图形结构清晰。
- 缺点:改变了原始拓扑结构,算法复杂度较大,不适合大型复杂网络。
4.射线型布局算法(树型布局的优化)
- 选取中心节点,从该节点出发通过连接关系设置子节点,以此类推。还要设置坐标。
- 优点:算法简单容易实现,清晰展示网络拓扑结构,节点不易重叠,空间利用率高。
- 缺点:算法复杂度较高,中心节点选取较困难,有边交叉问题,不适合大型网络拓扑。
5.层次型布局算法
- 按照一定算法标准将图进行分层处理,并用三维空间坐标系其中一维坐标来表示图形的层次,然后对每一层的子图分别进行二维空间上的可视化布局。
- 优点:能够避免边与边的交叉,展示大型网络的概况,当用户想查看详细网络结构时再展开。
- 缺点:节点数量过多时分层困难,不适用于层次不明显的网络。
6.网格型布局算法
- 自上而下分层,任何一个节点按照网格法广度优先遍历的顺序从左到右、从上到下逐个摆放。
- 优点:算法简单容易实现,缓解了空间分配的压力,适用节点比较多时的网络。
- 缺点:节点连接关系不直观。
7.启发式布局算法
- 将大型网络分割成不同区域,根据每个区域的特点和情况选择合适的布局算法。
- 优点:在整体和局部上都能够体现出网络拓扑特性,展示拓扑结构,提高布局效率。
- 缺点:面临大型网络的分割、分类聚类、选择何种算法等困难。
补充
- 另可分类为:
- 正交布局算法:节点沿水平或垂直方向排列(树型、网格型);
- 径向布局算法:根节点在中心,各层子节点放在半径不同的同心圆上(圆形);
- 力引导布局算法。
可视化学习:可视化布局方法简介及优缺点相关推荐
- html表格自动分列,CSS3 Columns分列式布局方法简介
幸运的是,CSS3里提供了一批新的创建列式布局的column属性,有了这些属性,我们不需要再使用float,clear,margin等属性进行调控,避免了很多麻烦. CSS代码 CSS3里的colum ...
- 可视化不确定网络的概率图布局方法
文 | Lijing Lin 不确定网络,在本文表示顶点是确定的(certain),边的存在与否满足某种概率分布的网络.在图1中,左图是确定网络(certain graph),右图是不确定网络(unc ...
- AI之AutoML:Ludwig(无需编写代码/易于使用的界面和可视化自动机器学习工具)的简介、安装、使用方法之详细攻略
AI之AutoML:Ludwig(无需编写代码/易于使用的界面和可视化自动机器学习工具)的简介.安装.使用方法之详细攻略 目录 Ludwig的简介 Ludwig(无需编写代码/易于使用的界面和可视化自 ...
- Matlab:Matlab编程语言应用之三维绘图可视化(基础知识点基本函)的使用方法简介、案例实现(三维曲线图机械阻尼振动三维等高线图等案例)之详细攻略
Matlab:Matlab编程语言应用之三维绘图可视化(基础知识点&基本函)的使用方法简介.案例实现(三维曲线图&机械阻尼振动&三维等高线图等案例)之详细攻略 目录 三维绘图基 ...
- R语言可视化学习笔记之相关矩阵可视化包ggcorrplot
本文转载自"R语言中文社区",己获授权. 作者简介Introduction taoyan:伪码农,R语言爱好者,爱开源. 个人博客: https://ytlogos.github. ...
- DL框架之darknet:深度学习框架darknet的简介、安装、使用方法的详细攻略
DL框架之darknet:深度学习框架darknet的简介.安装.使用方法的详细攻略 目录 darknet的简介 darknet的安装 darknet的使用方法 1.YOLO: Real-Time O ...
- DL框架之Tensorflow:深度学习框架Tensorflow的简介、安装、使用方法之详细攻略
DL框架之Tensorflow:深度学习框架Tensorflow的简介.安装.使用方法之详细攻略 目录 Tensorflow的简介 1.描述 2.TensorFlow的六大特征 3.了解Tensorf ...
- R语言可视化学习笔记之ggridges包绘制山峦图
作者:严涛 浙江大学作物遗传育种在读研究生(生物信息学方向)伪码农,R语言爱好者,爱开源. 严涛老师的绘图教程还有: gganimate |诺奖文章里面的动图绘制教程来了!! ggplot2学习笔记之 ...
- pyecharts 大屏可视化学习
@pyecharts 大屏可视化学习,记录,总结 先看看效果 图表代码都是官网直接复制的,主要是为了学习方法,学习到底如何大屏布局. 参考学习 1.https://blog.csdn.net/bo_g ...
- 【案例教程】Python气象海洋数据可视化到常见数据分析方法(折线图、柱状图、errorbar图、流场矢量、散点图、风玫瑰图、流场矢量、填色及等值线+地图)
[查看原文]Python在气象与海洋中的实践技术应用 Python是功能强大.免费.开源,实现面向对象的编程语言,能够在不同操作系统和平台使用,简洁的语法和解释性语言使其成为理想的脚本语言.除了标准库 ...
最新文章
- 【ACL2020】这8份Tutorial不可错过!包括:常识推理、多模态信息抽取、对话、解释性等...
- 编码实现Spring 利用@Resource注解实现bean的注入,xml实现基本数据类型的注入
- 2021湖北高考个人成绩排名查询,2021湖北高考总成绩一分一段排名
- JSON中的JSON.parseArray()方法、JSON.parseObject()方法和JSON.tojsonString()方法
- 支付宝五福活动抢先开始了!原来今年可以提前集
- 暴力测试也疯狂——论Python代码优化
- centos7配置IP地址CentOS7 修改hostname,ip地址以及hosts(永久生效)
- linux frame buffer 显示图片 没有颜色,新路程----linux framebuffer显示图片c程序
- 在IIS中给某一个网站添加binding的坑
- mysql的面试2_mysql数据库面试题(2)
- 堆、栈、堆栈详谈--复习
- atitit.闭包的概念与理解attilax总结v2 qb18.doc
- 计算机网络技术在教学中的,精选:浅析计算机网络技术在教育教学中的运用原稿...
- 【读书笔记】金字塔原理-构建金字塔的层级关系
- Jmeter的基本功能使用方法
- 精选数据分析师常见的面试问题2020
- 爬虫和网易云音乐API的一次尝试
- 机顶盒ttl无法输入_中兴机顶盒B8601.1T TTL后跑码无法输入指令
- 朝花夕拾 - 停更三月,期待 失败
- wince之WiFi漫游的工作原理