[英]networkx add_node with specific position
我還是 networkx 的初學者 我想在不同位置添加多種類型的節點,我使用了以下代碼
pos = {0: (40, 20), 1: (20, 30), 2: (40, 30), 3: (30, 10)}
X=nx.Graph()
nx.draw_networkx_nodes(X,pos,node_size=3000,nodelist=[0,1,2,3],node_color='r')
但是當我想訪問 Graph X 時,如果我鍵入 X.node,它會返回一個空列表,如果我想添加更多節點,我必須在開始時使用 pos 字典設置它們的位置。
如何使用 add_node() 在特定位置 x 和 y 中將節點添加到圖形中
我不完全確定你想要完成什么,但我認為你想向圖中添加節點,將它們繪制在想要的位置並且仍然能夠在圖形對象中訪問它們。
由於您沒有將節點添加到圖中,這將是一個開始:
X.add_nodes_from(pos.keys())
那么在繪制圖形時就不必指定節點列表,這樣在添加新節點時就不必更改兩個不同地方的代碼。
如果您希望節點的位置作為節點屬性,您也可以這樣做:
for n, p in pos.iteritems():
X.nodes[n]['pos'] = p
請注意,這些位置不會用作繪制圖形時的位置,必須明確設置。 然后,您可以使用以下方法繪制和顯示圖表:
nx.draw(X, pos)
plt.show()
假設您執行了 import from matplotlib import pyplot as plt
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.