NetworkX(Python)网络分析图论数学(线性代数-统计推理)

网络关系生成

步骤1:在项目文件中导入networkx和matplotlib.pyplot。

import networkx as nx
import matplotlib.pyplot as plt

步骤2:使用 networkx 生成图表。

步骤3:现在使用networkx.drawing的draw()函数来绘制图形。

步骤4:使用matplotlib.pyplot的savefig(“filename.png”)函数将绘制的图形保存在filename.png文件中。

import networkx as nx
import matplotlib.pyplot as plt

g = nx.Graph()

g.add_edge(1, 2)
g.add_edge(2, 3)
g.add_edge(3, 4)
g.add_edge(1, 4)
g.add_edge(1, 5)

nx.draw(g)
plt.savefig("filename.png")

输出:

要在节点中添加编号,请在 draw() 函数中添加一个参数 with_labels=True 。

import networkx as nx
import matplotlib.pyplot as plt

g = nx.Graph()

g.add_edge(1, 2)
g.add_edge(2, 3)
g.add_edge(3, 4)
g.add_edge(1, 4)
g.add_edge(1, 5)

nx.draw(g, with_labels = True)
plt.savefig("filename.png")

输出:

可以使用 networkx 绘图和 matplotlib 完成不同的图形类型和绘图。

import networkx as nx
import matplotlib.pyplot as plt

g = nx.Graph()

g.add_edge(1, 2)
g.add_edge(2, 3)
g.add_edge(3, 4)
g.add_edge(1, 4)
g.add_edge(1, 5)
g.add_edge(5, 6)
g.add_edge(5, 7)
g.add_edge(4, 8)
g.add_edge(3, 8)

nx.draw_circular(g, with_labels = True)
plt.savefig("filename1.png")

plt.clf()

nx.draw_planar(g, with_labels = True)
plt.savefig("filename2.png")
plt.clf()

nx.draw_random(g, with_labels = True)
plt.savefig("filename3.png")
plt.clf()

nx.draw_spectral(g, with_labels = True)
plt.savefig("filename4.png")
plt.clf()

nx.draw_spring(g, with_labels = True)
plt.savefig("filename5.png")
plt.clf()


nx.draw_shell(g, with_labels = True)
plt.savefig("filename6.png")
plt.clf()

输出:

圆形布局:

平面布局:

随机布局:

光谱布局:

弹簧布局:

外壳布局:

NetworkX API

数据模型、加载数据、图形基础统计、处理图形数据、编码模式

项目:发现学生友谊关系网

图形可视化

毛团、矩阵图、弧线图、马戏团图、蜂巢图

项目:追踪传染性社会模式动态联系网络

项目:广度优先搜索算法寻找图中最短路径

项目:人际信任网络(三角关系、三元闭合、派系)

图论

图模型、二分图、线性代数、统计

项目:二分图犯罪分析

项目:邻接矩阵寻找路径

项目:消息在有向线性链中传递

项目:二分图客户-产品图

项目:书中人物重要性演变

项目:机场网络的演变

参阅一:亚图跨际
参阅二:亚图跨际

你可能感兴趣的:(交叉知识,Python,python,图论,线性代数,networkx)