Python 用坐标绘制NetworkX图形

Python 用坐标绘制NetworkX图形,python,matplotlib,networkx,Python,Matplotlib,Networkx,我的networkx图形由属性名为“coords”(x,y)的对象组成: 每当我绘制它时,matplotlib都会以混乱的顺序绘制图形。 如何根据坐标绘制这样的图形?使用pos参数定位所有节点。它需要一个字典,其中节点作为键,位置作为值。因此,您可以将上述内容更改为: devices = [device1, device2, device3] G = nx.Graph() G.add_nodes_from(devices) pos = {dev:dev.coords for dev in d

我的networkx图形由属性名为“coords”(x,y)的对象组成:

每当我绘制它时,matplotlib都会以混乱的顺序绘制图形。 如何根据坐标绘制这样的图形?

使用
pos
参数定位所有节点。它需要一个字典,其中节点作为键,位置作为值。因此,您可以将上述内容更改为:

devices = [device1, device2, device3]
G = nx.Graph() 
G.add_nodes_from(devices)

pos = {dev:dev.coords for dev in devices}
# {1: (20, 5), 2: (-4, 10.5), 3: (17, -5)}
nx.draw(G, pos=pos, with_labels = True, node_color='lightblue')
plt.show()

devices = [device1, device2, device3]
G = nx.Graph() 
G.add_nodes_from(devices)

pos = {dev:dev.coords for dev in devices}
# {1: (20, 5), 2: (-4, 10.5), 3: (17, -5)}
nx.draw(G, pos=pos, with_labels = True, node_color='lightblue')
plt.show()