Python Networkx, как нарисовать вес ребра без слова «вес» - PullRequest
0 голосов
/ 25 апреля 2020

I only want 0/1 on the edge

from graphviz import *
import networkx as nx
import matplotlib.pyplot as plt

G = nx.DiGraph()
G.add_node(8)
G.add_node(4)
G.add_node(32)
G.add_node(34)
G.add_edge(8,32,weight=0)
G.add_edge(8,34,weight=1)
G.add_edge(4,8,weight=0)
G.add_edge(4,32,weight=1)


pos=graphviz_layout(G)
nx.draw(G, pos)
edge_labels = nx.get_edge_attributes(G,'weight')
nx.draw_networkx_edge_labels(G, pos, labels = edge_labels)
plt.savefig('this.png')
plt.show()

Итак, я только начал работать с Networkx, поэтому не очень разбираюсь в синтаксисе. Как я могу нарисовать только вес в этом случае? Я видел, что этот же код в некоторых других местах рисует только вес, а не слова «вес».

Спасибо.

1 Ответ

0 голосов
/ 25 апреля 2020

Это должно быть edge_labels в nx.draw_networkx_edge_labels()

pos=graphviz_layout(G)
nx.draw(G, pos)
edgeLabels = nx.get_edge_attributes(G,'weight')
nx.draw_networkx_edge_labels(G, pos, edge_labels = edgeLabels)
plt.savefig('this.png')
plt.show()
...