| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 【可视化图表】关系网络图怎么做?手把手教会你! -> 正文阅读 |
|
[人工智能]【可视化图表】关系网络图怎么做?手把手教会你! |
我们在一些文章或者网页上,经常能看到下面这种图: 图片来自于网络 这种像是花团与星云的关系网络图,是不是非常漂亮呢!但是可千万不要以为它仅仅只是颜值高,其实它的内涵也很丰富哦!比如这幅图就描绘了《权力的游戏》中的人物关系网,我们可以通过它清楚直观地看出权游中复杂的人物关系。谁才是真正的主角人物,故事中有几个小团体,通过这张图一眼就看能够看出来。 那么到底什么是关系网络图?该如何看懂它,又如何去制作它呢?让我们一起往下看吧! 01 什么是关系网络图 关系网络图一般由节点(node)和边(edge)构成,当某两个节点间有某种联系,则这两个节点之间就存在表示其联系的边。当许多个节点间有相互联系时,就会形成复杂的关系网络。 就比如在权游的人物网络关系图中,每个节点都代表了一个角色,每个角色之间的边则代表了角色间的联系。当节点越大,则说明此角色越重要;当边越粗,说明角色间联系越多;当边越短,说明角色间联系越紧密。相同颜色聚集在一起的簇,则表明了不同的利益共同体。 关系网络图可以很直观显示出数据之间的联系,帮助我们从点与点之间的联系里捕获到有用的信息,能够很好地帮助我们分析一些较为复杂的问题。 如何才能绘制出颜值高的关系网络图呢?我们在本篇文章里将会采用国内上市公司与子公司的投资关系数据,通过Gephi软件为大家一步步演示。 02 用Gephi制作投资关系网络图1.数据预处理①在接下来的案例里,我们用到是国内城市间上市公司与子公司的投资关系数据,它的原始数据为一份国内上市公司的数据与上市公司对子公司的投资数据。国内上市公司的数据上市公司对子公司的投资数据我们首先将俩份数据按上市公司名称进行匹配,而后删除掉已经注销、吊销或撤销的公司数据,再将子公司注册资本的数据统一为数字并乘以上市公司投资比例得到上市公司对子公司的投资额。最后,再将上市公司与子公司按照城市完成聚合,去掉城市间的投资方向,得到了我们所需要的国内城市间上市公司与子公司的投资关系数据,如下图。 该数据城市1与城市2代表了含有投资关系的俩个城市,投资额代表了俩个城市之间的投资总额,count则代表了俩个城市之间发生投资关系的公司数目。 ②在上面这个数据的基础上,我们还需要进一步将数据进行整理,以使得数据能够按照Gephi的规则导入进去,这里我们仅以制作投资额的关系网络图为例,将上表中表头部分的城市1改为source,将城市2改为target,将投资额改为weight,删除count列,将数据作为edge文件并另存为csv。再将城市1与城市2的列提取出来,分别该表头为Id与Lable,作为node文件并另存为csv。 到这里,我们就得到了整理好的数据,下一步就是将数据加载进Gephi进行关系网络图的绘制了。 2.数据加载 ①安装好Gephi软件(可去https://gephi.org/下载),打开软件新建一个工程文件,将上述处理好的数据加载进Gephi,加载步骤如下图所示: 在这一步骤中需要注意的是如果加载的数据在预览中显示的是乱码的情况,一定要将字符集的选项卡设置为GBK的格式。 ②点击下一步进行设置,如图所示: 图的类型设置为无向的,选择Append to...数据添加到现有的工作空间。最后点击确定后就完成了数据的加载工作。同时我们将node节点的信息表也添加到当前工作空间中。 3.参数设置 当数据加载进Gephi中后,图里显示的是一团乱麻,就像下图一样。 不用着急,等我们给这些数据进行布局与参数调整之后,图还是会变得好看的! ①首先我们选择一个布局算法,这里所采用的是OpenOrd算法(OpenOrd是一种力-导向的布局算法,用于绘制大型无向图),再一一调整布局的参数。 点击运行后得到下图,关系网络结构已大致显现。 ②在界面右边的的统计选项中点击PageRank(该算法可以运行得到关系中比较重要的节点),点击运行。 ③统计选项中点击模块化,在弹出的窗口中设置解析度。模块化这一算法是一个聚类算法(分区算法),这一算法可以将节点中的点聚类,设置解析度可以调整聚类数目(分区)的多少。 PageRank和模块化这两步的运行都是为了之后可视化的内容更好看做准备。 完成这些后,关系网络的已经形成。接着就需要调整各种可视化样式的参数,以使得图表更加好看。 ④接下来进行点的颜色设置。点的颜色根据上以步骤中的到的模块化聚类的情况设置,设置的步骤如下图所示: ⑤继续对点的大小进行设置,点的大小用PageRank得到的结果,根据点的重要性设置,设置步骤如下: 到这里我们大致调好了可视化的基色,而后我们需要在预览设置里更为细致全面地调整可视化样式。 ⑥打开窗口中的预览设置与预览窗口。 ⑦在预览设置中设置节点的大小、标签显示、边的厚度、颜色等信息,可以按以下参数进行调整。 ⑧此时,将预览界面背景颜色改为黑色,点击预览设置里的刷新,见证奇迹的时刻就来临了! ⑨但是图上的节点标签太多,有些杂乱,还产生了遮挡。如果没有加点标签是这个样子: 虽然好看,但是却看不出对应的信息,肯定不行。那该如何处理呢?让我们接着往下看。 ⑩这里我们先要输出图片,可以在文件菜单里选择输出选项,也可以和下图一样点击预览设置最下方的SVG/PDF/PNG。 如果觉得图不需要调整了,我们就可以直接导出PNG,如果觉得还需要继续调整一下,我们可以保存为SVG或PDF,然后放在AI软件中继续调节。这里我们将图保存为SVG格式。 ?将保存的SVG文件导入AI,经过一点点的调节,就得到这张层次关系较为清楚的关系网络图了 。 通过这张图,我们可以发现我国的投资关系中比较重要的城市节点为北京市、上海市、深圳市、海口市、武汉市等,以北京为中心的投资城市最多,投资的金额也很大。类似的我们可以做出发生投资关系的城市间公司数目关系网络图,如下图所示: 从图可以看出,投资个数多的城市是北京、上海、广州、武汉等城市,投资个数发生较少的是图中节点较小的城市。 03 基于Gephi插件的地理关系网络图虽然我们在上面已经做出了关系网络图,但是有没有办法让它传达的信息更直观一些呢?答案是肯定的,既然我们表达的是城市间的投资关系,那么把城市的节点落到地图空间上,传达的信息岂不是更为明晰? 那么该怎么去做呢?这里,我们需要用到俩款插件,分别为Geolayout和?Map of Country,在Gephi的工具-插件里就可以安装成功(如果安装不成功请更换网络环境)。其中,Geolayout可以将节点根据自带的经纬度信息进行布局,Map of Country则可以显示世界各国的边界(需要注意的是后者中国国界线不全,只能用作参考使用)。 我们将node文件里添加lng和lat俩列,并把各个城市的经纬度添加上,而后通过Geolayout布局,调整可视化样式,再在AI里进行调整,最后得到下面俩张图。 上面这幅图是投资公司和子公司的投资额在全国的分布情况。从图可以看出我国的投资关系在地理上的分布是在北京周围、中部、东部沿海地区,东南沿海地区、海南岛集中分布,在西部、东北部地区分布较少,西南地区的成都市及其周边、西北的兰州市及其周边、银川市及其周边是西部地区投资关系较多、且集中的。 上图是发生投资关系的城市间公司数目关系图,由图可以看出我国上市公司中发生投资关系的城市里,北京、上海、南京、杭州、成都、广州、海南等地区的数目比较多,总体呈现东多西少的空间分布。 好的,那么本文就讲到这里,需要练习数据的小伙伴们可以扫描下方的客服二维码获取哦! 此外,本文对应的教学视频也会在近期上传至B站,B站搜索“立方数据学院”就可以找到我们啦! END> 扫描下方二维码 加小黄鸭为好友拉入微信群 后面的推文数据 会发放在群里哦 想加可视化交流群的小伙伴 一定要备注哦 否则默认加入数据分享群 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 16:28:33- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |