(Python)Networkx-如何使用pos变量为节点设置自己的位置

(Python)Networkx-如何使用pos变量为节点设置自己的位置,python,set,position,nodes,networkx,Python,Set,Position,Nodes,Networkx,我的print G.nodes(data=True)输出为: 如何使用pos变量手动设置节点的位置(坐标) 提前谢谢大家, 问候语:)我认为你问的问题实际上不能解决你遇到的问题,但这仍然是一个相当普遍的问题,因此值得解释 pos只是一个字典,其键是图形的节点,其值是节点的二维位置 这是你怎么做的 import networkx as nx import matplotlib.pyplot as plt G = nx.Graph() G.add_edge(0,1) G.add_node(2) po

我的print G.nodes(data=True)输出为:

如何使用pos变量手动设置节点的位置(坐标)

提前谢谢大家,


问候语:)

我认为你问的问题实际上不能解决你遇到的问题,但这仍然是一个相当普遍的问题,因此值得解释

pos
只是一个字典,其键是图形的节点,其值是节点的二维位置

这是你怎么做的

import networkx as nx
import matplotlib.pyplot as plt
G = nx.Graph()
G.add_edge(0,1)
G.add_node(2)
pos = {}
pos[0] = (0,0)
pos[1] = (1,0)
pos[2] = (0.5, 1)
nx.draw_networkx(G, pos)
plt.show()

根据您的其他问题&,这不是您的代码遇到的问题。您已经定义了一个图形,并创建了
pos
。然后尝试使用
nodelist
绘制图,该图包含不在图中的节点,因为在将节点添加到图中时更改了节点的名称。图形中的所有节点都已具有坐标[选中它-
print(pos)
]。问题是您的节点列表使用了networkx无法识别的其他名称。或者以另一种方式显示。为nodelist中的节点运行代码
:如果节点不在G.nodes:print中('node{}将产生错误,因为它不是G.format(node)的节点)
import networkx as nx
import matplotlib.pyplot as plt
G = nx.Graph()
G.add_edge(0,1)
G.add_node(2)
pos = {}
pos[0] = (0,0)
pos[1] = (1,0)
pos[2] = (0.5, 1)
nx.draw_networkx(G, pos)
plt.show()