如何从networkx图中的边缘标签中删除属性?

时间:2015-03-10 06:18:39

标签: python networkx

如何从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'单独。这将使图表更加清晰。

2 个答案:

答案 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()

enter image description here

答案 1 :(得分:0)

如果要将'n'作为边标签,则必须使用参数'edge_labels'和draw_networkx_edge_labels,而不是'labels'。

nx.draw_networkx_edge_labels(G, pos, edge_labels = edgelabels)