簡體   English   中英

通過networkx引發`NetworkXError:節點8沒有位置`錯誤,不能繪制8個以上的節點

[英]Can not draw more than 8 nodes by networkx raising `NetworkXError: Node 8 has no position` error

我正在嘗試通過networkx繪制圖形。 但是,下面的代碼出現以下錯誤:

NetworkXError:節點8沒有位置

我相信只允許少於七個節點,但是我不明白為什么。

請提出為什么會發生錯誤,以及如何修復以繪制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.

nx.cubical_graph()有8個節點。 [0,1,2,3,4,5,6,7] 您發送的nodelist包含不屬於圖形的節點8 您要繪制的圖形是一個多維數據集的圖形-8個節點(頂點)和12個邊(多維數據集的邊緣)。

您要它繪制8節點圖的9節點。 因此,它找不到該節點的位置。

在回答有關如何在圖形中繪制8個以上節點的問題時,您必須從具有8個以上節點的圖形開始。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM