用python的networkx将边的属性显示在边上
时间: 2024-02-18 19:02:38 浏览: 109
可以使用 NetworkX 中的 `draw_networkx_edge_labels` 函数将边的属性显示在边上。这个函数可以在绘制网络图时绘制边标签。
以下是一个简单的例子:
```python
import networkx as nx
import matplotlib.pyplot as plt
# 创建一个有向图
G = nx.DiGraph()
# 添加带有边属性的边
G.add_edge('A', 'B', weight=4)
G.add_edge('B', 'C', weight=2)
G.add_edge('C', 'D', weight=3)
# 绘制网络图
pos = nx.spring_layout(G)
nx.draw(G, pos, with_labels=True, node_color='lightblue', edge_color='gray', width=1, arrowstyle='->', arrowsize=15)
# 绘制边标签
labels = nx.get_edge_attributes(G, 'weight')
nx.draw_networkx_edge_labels(G, pos, edge_labels=labels, font_size=12, font_color='red')
# 显示图形
plt.show()
```
在这个例子中,我们创建了一个有向图,给每条边添加了一个 `weight` 属性,然后使用 `draw_networkx_edge_labels` 函数在边上绘制了边标签。运行这段代码后,你会看到一个带有边标签的网络图。
阅读全文