该图看起来很乱,几乎没有识别任何东西。我只希望它显示具有高中心性的节点的名称,但我不知道如何。我现在只能显示所有名字。
Graph:the result of the following codes
G_D = nx.Graph()G_D.add_edges_from(G5.edges(data = True))
nx.draw(G_D,nx.spring_layout(G_D),node_size = [v * 10 for v in df.iloc [:,0]],with_labels = True)
nx.draw
有一个参数labels,它与with_labels=True
结合只能绘制你想要的标签,只有你想要的。
labels(字典,可选(默认=无)) - 由文本标签节点键入的字典中的节点标签
例如,您可以选择节点'label'
参数并为具有3个或更多邻居的节点绘制标签:
labels = {
n: (G.nodes[n]['label']
if len(list(nx.all_neighbors(G, n))) > 2
else '')
for n in G.nodes
}
nx.draw(G, with_labels=True, labels=labels)
附:我不建议使用基本的networkx绘图功能。有许多强大的可视化库比networkx更好。甚至in networkx docs你可以找到相同的意见。人们可以使用Gephi,Graphviz(与各种库)或Cytoscape用于真正的巨大图表。