🥭NetworkX(Python)网络分析图论数学(线性代数-统计推理)
Python | networkx | 网络分析 | 图论 | 数学 | 统计推理 | matplotlib | Pandas | 毛团图 | 矩阵图 | 弧线图 | 马戏团图 | 蜂巢图 | 广度优先輟索算法 | 最短路径图權型 | 二分图 | 有向线性链 | 三角关系 | 三元闭合 | 派系
网络关系生成
步骤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
数据模型、加载数据、图形基础统计、处理图形数据、编码模式
项目:发现学生友谊关系网
图形可视化
毛团图、矩阵图、弧线图、马戏团图、蜂巢图
项目:追踪传染性社会模式动态联系网络
项目:广度优先搜索算法寻找图中最短路径。
项目:人际信任网络(三角关系、三元闭合、派系)
图论
图模型、二分图、线性代数、统计
项目:二分图犯罪分析
项目:邻接矩阵寻找路径
项目:消息在有向线性链中传递
项目:二分图客户-产品图
项目:书中人物重要性演变
项目:机场网络的演变
Last updated