Python 使用Networkx和plotly绘制特定图形

Python 使用Networkx和plotly绘制特定图形,python,plotly,networkx,Python,Plotly,Networkx,我是networkx的新手,我想用networkx和plotly绘制一个已定义的图形。该图定义如下: pos = {0: (20, 10), 1: (20, 20), 2: (30, 10), 3: (30, 20), 4: (50, 15)} X=nx.Graph() Gr.add_nodes_from(pos.keys()) Gr.add_edge(0,3) Gr.add_edge(0,2) Gr.add_edge(1,2) Gr.add_edge(3,4) 为了使节点可以单击,如plo

我是networkx的新手,我想用networkx和plotly绘制一个已定义的图形。该图定义如下:

pos = {0: (20, 10), 1: (20, 20), 2: (30, 10), 3: (30, 20), 4: (50, 15)} 
X=nx.Graph()
Gr.add_nodes_from(pos.keys())
Gr.add_edge(0,3)
Gr.add_edge(0,2)
Gr.add_edge(1,2)
Gr.add_edge(3,4)
为了使节点可以单击,如plotly教程()所示,我使用了其中编写的代码。问题是,当我运行以下代码时:

for node in Gr.nodes():
    x, y = Gr.nodes[node]['pos']
    node_x.append(x)
    node_y.append(y)
它向我显示了一个错误:

<ipython-input-38-a80b1db2d250> in <module>
      2 node_y = []
      3 for node in Gr.nodes():
----> 4     x, y = Gr.nodes[node]['pos']
      5     node_x.append(x)
      6     node_y.append(y)

KeyError: 'pos'
in
2节点_y=[]
3对于组节点()中的节点:
---->4 x,y=Gr.nodes[node]['pos']
5节点附加(x)
6节点y追加(y)
键错误:“pos”

同样的事情也发生在边缘上。我不知道该怎么办,因为我知道这段代码可以很好地处理上面url示例中显示的随机网络。非常感谢您的帮助。

我从这个url得到了答案:。多亏了@TomRon。其思想是分别定义每个节点,并添加下面的指令以获取位置并将其与plotly一起使用

pos=nx.get_node_attributes(G,'pos')

请检查此项-这是否回答了您的问题@汤姆龙。是的,第二个答案是。谢谢,非常感谢