如何从networkx图中的边缘标签中删除属性?
以下示例
edgelabels = nx.get_edge_attributes(G, 'weight')
nx.draw_networkx_edges(G, pos, label_pos=0.5, alpha=0.5, edge_color='k')
nx.draw_networkx_edge_labels(G, pos, labels = edgelabels)
在每个边缘标签上打印{' weight':n}:我想要的是' n'单独。这将使图表更加清晰。
答案 0 :(得分:1)
以下是如何只绘制一个“重量”的数字。属性。
import matplotlib.pyplot as plt
import networkx as nx
G = nx.Graph()
G.add_edge(1,2,weight=7)
G.add_edge(2,3,weight=42)
labels = {}
for u,v,data in G.edges(data=True):
labels[(u,v)] = data['weight']
pos = nx.spring_layout(G)
nx.draw(G,pos)
nx.draw_networkx_edge_labels(G, pos, edge_labels=labels)
plt.show()
答案 1 :(得分:0)
如果要将'n'作为边标签,则必须使用参数'edge_labels'和draw_networkx_edge_labels,而不是'labels'。
nx.draw_networkx_edge_labels(G, pos, edge_labels = edgelabels)