networkx 画具体线路图
时间: 2023-09-03 13:05:59 浏览: 182
要使用 NetworkX 画具体的线路图,需要先定义节点和边的关系。以下是一个简单的例子:
```python
import networkx as nx
import matplotlib.pyplot as plt
# 定义节点
nodes = ["A", "B", "C", "D", "E", "F"]
# 定义边
edges = [("A", "B"), ("B", "C"), ("C", "D"), ("D", "E"), ("E", "F"), ("F", "A")]
# 创建有向图
G = nx.DiGraph()
# 添加节点和边
G.add_nodes_from(nodes)
G.add_edges_from(edges)
# 绘制图形
pos = nx.spring_layout(G)
nx.draw_networkx_nodes(G, pos, node_color='lightblue', node_size=500)
nx.draw_networkx_labels(G, pos, font_size=20, font_family='sans-serif')
nx.draw_networkx_edges(G, pos, arrows=True)
# 显示图形
plt.axis('off')
plt.show()
```
这个例子定义了一个有向图,节点为 A、B、C、D、E 和 F,边为 A->B, B->C, C->D, D->E, E->F 和 F->A。使用 `nx.DiGraph()` 创建有向图,使用 `G.add_nodes_from(nodes)` 和 `G.add_edges_from(edges)` 添加节点和边。
使用 `nx.spring_layout(G)` 获取节点位置,然后使用 `nx.draw_networkx_nodes()` 和 `nx.draw_networkx_labels()` 绘制节点和标签,最后使用 `nx.draw_networkx_edges()` 绘制边。
运行程序后,应该会看到绘制出来的线路图。
阅读全文