我試圖通過networkx繪製圖形。但是,下面的代碼遭受就是通過networkx引發`NetworkXError:節點8沒有位置錯誤'無法繪製超過8個節點
NetworkXError: Node 8 has no position
我相信,只有不到七個節點被允許的錯誤,但我不明白爲什麼。
請提出錯誤發生的原因以及如何修復繪製超過8個節點。
import networkx as nx
# new_words = ["1","2","3","4","5","6","7"] => It does not occur the error
new_words = ["1","2","3","4","5","6","7","8"]
target_word = ["0"]
G=nx.cubical_graph()
pos=nx.spring_layout(G)
nx.draw_networkx_nodes(G,pos,
nodelist=[0],
node_color='r',
node_size=50, alpha=0.8)
nx.draw_networkx_nodes(G,pos,
nodelist=range(1, len(new_words)+1),
node_color='w',
node_size=50, alpha=0.8)
nx.draw_networkx_edges(G,pos,
edgelist=[(0,i) for i in range(1,len(new_words)+1)])
# some math labels
labels={}
labels[0]=target_word
for idx in range(0,len(new_words)):
labels[idx+1] = new_words[idx]
nx.draw_networkx_labels(G,pos,labels)
的錯誤信息是:
---------------------------------------------------------------------------
NetworkXError Traceback (most recent call last)
<ipython-input-16-5ddab3dbe0d6> in <module>()
15 nodelist=range(1, len(new_words)+1),
16 node_color='w',
---> 17 node_size=50, alpha=0.8)
18
19 nx.draw_networkx_edges(G,pos,
/Users/sudou/.pyenv/versions/anaconda-2.0.1/lib/python2.7/site-packages/networkx/drawing/nx_pylab.pyc in draw_networkx_nodes(G, pos, nodelist, node_size, node_color, node_shape, alpha, cmap, vmin, vmax, ax, linewidths, label, **kwds)
384 xy = numpy.asarray([pos[v] for v in nodelist])
385 except KeyError as e:
--> 386 raise nx.NetworkXError('Node %s has no position.'%e)
387 except ValueError:
388 raise nx.NetworkXError('Bad value in node positions.')
NetworkXError: Node 8 has no position.
它會幫助別人顯示,拋出異常(哪一行) –
@Andreas_D謝謝。我添加了錯誤消息和堆棧跟蹤。 – rkjt50r983