import networkx as nx
import matplotlib.pyplot as plt
# 数据准备
G = nx.DiGraph(with_labels=True) # 单边有向图
G.add_edges_from([(1,2), ('x','y')]) # 一次性添加多条边
nx.draw(G) # 简单画一下
plt.axis("off") # 去掉边框
plt.show()

networkx怎么给节点添加标签
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 初见~ 2023-03-21 23:14关注
可以通过 nx.set_node_attributes() 给节点添加标签,具体实现如下:
import networkx as nx import matplotlib.pyplot as plt # 数据准备 G = nx.DiGraph(with_labels=True) # 单边有向图 G.add_edges_from([(1,2), ('x','y')]) # 一次性添加多条边 # 添加节点标签 labels = {1: 'A', 2: 'B', 'x': 'C', 'y': 'D'} nx.set_node_attributes(G, labels, 'label') # 绘制图形 pos = nx.spring_layout(G) nx.draw(G, pos) nx.draw_networkx_labels(G, pos, labels=nx.get_node_attributes(G, 'label')) plt.axis("off") plt.show()
其中,nx.set_node_attributes() 的三个参数分别为图对象、标签字典和标签名称。在绘制图形时,使用 nx.draw_networkx_labels() 绘制节点标签。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 2无用