问题描述
import networkx as nx
import matplotlib.pyplot as plt
G = nx.DiGraph()
G.add_nodes_from([0,1,2,3,4])
G.add_edge(0,4,weight =2.0)
G.add_edge(0,weight =3.0)
G.add_edge(0,weight =5.0)
G.add_edge(4,weight =4.0)
G.add_edge(4,weight =10.0)
G.add_edge(4,weight =6.0)
G.add_edge(2,weight =2.0)
G.add_edge(2,weight =1.0)
G.add_edge(1,weight =2.0)
G.add_edge(1,weight =6.0)
nx.draw(G,with_labels=True,font_weight='bold')
plt.show()
我需要设置每个节点的坐标。还有
G.node[0]['pos'] = (0,0)
不工作,我什至不知道为什么。如何设置每个节点有什么帮助? expected output
我必须像这样设置每个节点的坐标,但它会创建随机位置。
这是我的错误:
AttributeError: 'DiGraph' object has no attribute 'node'
解决方法
图没有属性 node
(它在 networkx 2.0 中已过时)。属性的名称是 nodes
:
G.nodes[0]['pos'] = (0,0)