Skip to main content
 首页 » 编程设计

python之我在 NetworkX 图表中看不到标签

2025年05月04日19落叶

这是我在 Python 2.7.9 中的代码:

import matplotlib.pyplot as plt 
import networkx as nx 
socialNetworl = nx.Graph() 
socialNetworl.add_nodes_from([1,2,3,4,5,6]) 
socialNetworl.add_edges_from([(1,2),(1,3),(2,3),(2,5),(2,6)])  
nx.draw(socialNetworl, node_size = 800, node_color="cyan") 
plt.show() 

但是我看不到节点标签。有一行代码我忘记了吗?

请您参考如下方法:

只需将 with_labels=True 添加到您的代码中即可。

import matplotlib.pyplot as plt 
import networkx as nx 
socialNetworl = nx.Graph() 
socialNetworl.add_nodes_from([1,2,3,4,5,6]) 
socialNetworl.add_edges_from([(1,2),(1,3),(2,3),(2,5),(2,6)])  
nx.draw(socialNetworl, node_size = 800, node_color="cyan", with_labels = True) 
plt.show() 

如果你想改变标签,用标签创建一个字典并将labels=theLabelDict传递给nx.draw:

import matplotlib.pyplot as plt 
import networkx as nx 
socialNetworl = nx.Graph() 
socialNetworl.add_nodes_from([1,2,3,4,5,6]) 
socialNetworl.add_edges_from([(1,2),(1,3),(2,3),(2,5),(2,6)])  
labels = {1:'King Arthur', 2:'Lancelot', 3:'shopkeeper', 4:'dead parrot', 5:'Brian', 6:'Sir Robin'} 
nx.draw(socialNetworl, node_size = 800, node_color="cyan", labels=labels, with_labels = True) 
plt.show()