Python实战社群
Java实战社群
长按识别下方二维码,按需求添加
扫码关注添加客服
进Python社群▲
扫码关注添加客服
进Java社群▲
作者丨tan45du
来源丨袁厨的算法小屋(ID:tan45du_me)
最近发现一个特别好用的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.创建图
首先我们需要创建一个没有边和节点的图形,说白了就是先拿出一张白纸,我们准备在白纸上作画了。
import networkx as nx
G = nx.Graph()#无多重边无向图
G = nx.DiGraph()#无多重边有向图
G = nx.MultiGraph()#有多重边无向图
G = nx.MultiDiGraph()#有多重边有向图
可以创建四种图形,无多重边无向图、无多重边有向图、有多重边无向图、有多重边有向图。