干货!利用Python绘制精美网络关系图
source link: https://blog.csdn.net/tan45du_yuan/article/details/109464240
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
干货!利用Python绘制精美网络关系图
点击上方蓝字关注我们
最近发现一个特别好用的python库,能够绘制精美的关系图,俗话说有好东西要学会分享,所以袁厨就肝了这篇文章,大家可以参考一下。
NetworkX是一个用python编写的软件包,便于用户对复杂网络进行创建、操作和学习。
利用networkx可以以标准化和非标准化的数据格式存储网络、生成多种随机网络和经典网络、分析网络结构、建立网络模型、设计新的网络算法、进行网络绘制等,Networkx主要用于创造、操作复杂网络,以及学习复杂网络的结构、动力学及其功能。我们用它可以将存储在邻接表或邻接矩阵里的网络图可视化。下面给大家看一下我自己画的一个例子吧。这样就大概可以了解怎么回事了。
小世界网络图
上面这张图片是我绘制的社交关系图,其中蓝色节点代表的是度最高的节点,就是社交关系最复杂的节点。
二、NetWorkx安装
安装方式主要有三种
1.命令行pip
2.pycharm安装
3.官方下载whl文件进行安装
下面我给大家介绍最简单方便的第一种方式吧
1.win+r进入命令行界面
在这里插入图片描述
2.输入安装代码
pip install networkx -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
这里更换了豆瓣的镜像源。可以提高下载速度。安装其他包的时候,将networkx改成其他包名即可。
三、NetworkX基础知识
1.创建图
首先我们需要创建一个没有边和节点的图形,说白了就是先拿出一张白纸,我们准备在白纸上作画了。
可以创建四种图形,无多重边无向图、无多重边有向图、有多重边无向图、有多重边有向图。常用的就是第一种图了
2.添加节点
这一步的作用就是在图中添加节点,我们可以一次添加一个节点,也可以添加一个节点列表
两个命令是不一样的需要注意一下哦
3.添加边
当然边也可以单个添加和多个添加
下面我们来看一下当前效果
4.给图中的节点和边添加属性
下面我们来使用一下这些属性,看看会有什么效果。
添加节点属性
添加布局属性
我们刚才用的属性是节点在同心圆上分布,效果如上图。还有其他分布方式大家可以试一下。
给节点添加不同的颜色
不同节点不同颜色
我们还可以给每个节点设置不同的颜色。当然大小也可以,这里自由发挥就好了。
5.样例实现
我们用了两种不同的节点分布方式,效果如下。
学到这里基本的图就会画了,下面学习一下通过数据集进行绘制绘制网络图
6.导入数据进行绘图
利用football数据集绘制社交关系图,
上面三张图片是利用不同的排列方式进行排列的。Networkx还有很多强大的功能,大家可以继续深挖,这里为大家提供一个入门参考,感谢大家的支持。如果大家感觉Networkx不能满足大家的需求,绘制网络图的python库还有DGL,PyG。
如果大家需要可以后台回复【绘图】,获取数据集和代码
大家如果觉得这篇文章对大家有帮助的话,就请大家点个关注和在看吧,你们的支持对我真的帮助很大!
喜欢就点个在看再走吧
Recommend
-
171
科学家利用 CRISPR 重新绘制蝴蝶翅膀图案 pigsrollaroundinthem...
-
29
对于数据可视化,实际上我在16年就写过数据可视化的文章,大家可以先参考: http://blog.sina.com.cn/s/blog_493a84550102w9v5.html 在这...
-
8
【干货】20款精美APP和Web设计模板素材(附演示链接)...
-
3
用 Graphviz 绘制关系图一种用代码绘制关系图的方式。背景#Gra...
-
3
使用 GraphViz 给 alembic 绘制历史关系图 本文来自依云's Blog...
-
3
利用卫星和机器学习绘制所有大型太阳能发电厂的地图 ...
-
4
#yyds干货盘点# “数万行代码“学习教你用html和css编写一个精美的网页 原创 前端歌谣 2022-0...
-
2
#yyds干货盘点# LeetCode程序员面试金典:绘制直线 精选 原创 灰太狼_cxh 2022-12...
-
3
创建数据可视化图表:柱状图与折线图结合 在数据分析和展示中,经常需要将数据可视化呈现,以便更直观地理解数据背后的趋势和关联关系。本篇文章将介绍如何使用 Python 中的 Pandas 和 Matplotlib 库创建一个柱状图与折线图结合的数据可视化图表。 ...
-
5
Cisco 交换机利用CDP数据自动绘制网络拓扑图[drawio]-实践 ...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK