Расширение на this question, возможно ли отображать только значения атрибутов края?значения атрибутов края отображения в сетевом графике
Например, в настоящее время с помощью
paragraph = """
John is a computer scientist. John eats mango. John has an elder sister named Mary.
"""
mg.make_graph(paragraph) #This is my custom method, which creates the following graph
nx.draw(mg,pos=graphviz_layout(mg,prog='neato'),arrows=True,with_labels=True,alpha=0.5,linewidths=0.5,scale=2)
nx.draw_networkx_edge_labels(mg, pos = graphviz_layout(mg, prog='neato'),labels = nx.get_edge_attributes(mg,'label'))
plt.show()
Однако я хочу только значение атрибута, а не сам ключ. (Слово «метка» не должно быть напечатано.
Я понимаю, что это потому, что nx.get_edge_attributes(mg,'label')
возвращает словарь, но с использованием nx.get_edge_attributes(mg,'label').values()
в параметре labels
, также не приводит к графику отображаются только значениями.
Как я могу добиться этого (то есть, только это значение должно быть напечатано в крае, а не ключ метки)
Ошибка в меток = {e: e ["label"] для e в mg.edges()} TypeError: индексы кортежей должны быть целыми числами, а не str –
да, это не был точный ответ. Но попробуйте следующее: 'mg.get_edge_data (e) [" label "]' или 'mg [e [0]] [e [1]] [" label "]' вместо 'e [" label "]'. –
не работает, я думаю, сама функция принимает словарь в качестве параметра. –