简介
NetworkX是一个Python语言的图论建模工具,用于创建、操作复杂网络结构(如图、有向图等)。它提供了许多用于分析网络、生成随机网络、以及可视化网络的函数和工具。用户可以利用NetworkX来研究复杂网络的拓扑结构、节点间的关系以及路径查找等问题。
创建图:
import networkx as nx
# 创建一个空图
G = nx.Graph()
# 添加节点
G.add_node(1)
# 添加边
G.add_edge(2, 3)
- 操作图:
# 获取节点列表
nodes = G.nodes()
# 获取边列表
edges = G.edges()
# 获取节点邻居
neighbors = G.neighbors(2)
- 分析图:
# 计算图的直径
diameter = nx.diameter(G)
# 计算平均最短路径长度
avg_shortest_path_length = nx.average_shortest_path_length(G)
# 查找最小生成树
min_spanning_tree = nx.minimum_spanning_tree(G)
- 可视化图:
import matplotlib.pyplot as plt
# 绘制图
nx.draw(G, with_labels=True)
plt.show()
绘图
- 参考networkx文档