NetworkXError:节点8没有位置

时间:2014-11-13 13:09:57

标签: ipython networkx

我刚刚开始编程,最近我在使用networkx在ipython笔记本上工作。如果你运行它,下面的代码是完美的,但如果你取消注释#G.add_edge(2,8,egdes = 6)它会给你错误NetworkXError:节点8没有位置。为什么它只能在第六个节点之前工作?

import networkx as nx 
import matplotlib.pyplot as plt
import pylab
%matplotlib inline

pos=nx.spring_layout(G)

G = nx.Graph()

G.add_edge(1, 2, egdes=1)
G.add_edge(1, 3, egdes=2)
G.add_edge(1, 4, egdes=3)
G.add_edge(1, 5, egdes=4)
G.add_edge(1, 6, egdes=5)
#G.add_edge(2, 8, egdes=6)

nx.draw(G,pos)
edge_labels=dict([((fe,se,),e['egdes'])
            for fe,se,e in G.edges(data=True)])

nx.draw_networkx_edge_labels(G,pos,edge_labels)

pylab.show()

我希望你们其中一个人可以帮助我,提前谢谢!

1 个答案:

答案 0 :(得分:7)

您需要创建节点位置

pos=nx.spring_layout(G)
之后构建了图表(添加了所有边和节点),然后 之前绘制了它。