networkx
是一个强大的 Python 库,用于创建、操作和研究图(Graphs)和网络结构。
1. 安装 networkx
要在 Python 3 环境中使用 networkx
,可以使用 pip
进行安装:
pip install networkx
2. 创建简单图
import networkx as nx
# 创建一个无向图
G = nx.Graph()
# 添加节点
G.add_node(1)
G.add_nodes_from([2, 3, 4])
# 添加边
G.add_edge(1, 2)
G.add_edges_from([(2, 3), (3, 4)])
# 查看图的信息
print("节点:", G.nodes())
print("边:", G.edges())
3. 创建带权图
G = nx.Graph()
G.add_edge(1, 2, weight=4.5)
G.add_edge(2, 3, weight=3.2)
# 访问边的属性
for u, v, weight in G.edges(data='weight'):
print(f"边 ({u}, {v}) 权重: {weight}")
4. 计算图的基本性质
print("节点数:", G.number_of_nodes())
print("边数:", G.number_of_edges())
print("邻接节点:", list(G.neighbors(2)))
5. 画图
import matplotlib.pyplot as plt
# 简单绘制图
nx.draw(G, with_labels=True, node_color='lightblue', edge_color='gray')
plt.show()
6. 有向图
D = nx.DiGraph()
D.add_edge('A', 'B')
D.add_edge('B', 'C')
print("有向图边:", D.edges())