2017-10-17 254 views
0

我想通過以下代碼調整兩個節點之間的邊緣長度。但顯然它不起作用。任何人都可以指導我在哪裏,我會犯錯:請注意,我已經看這個線程(How to specify edge length in Networkx for calculating shortest distance?),但並沒有解決我的問題網絡邊緣長度x

import networkx as nx 
import matplotlib.pyplot as plt 

G=nx.Graph() 
G.add_nodes_from([1,2]) 
G.add_edge(1,2, length = 10) # I also replaced length with len but no luck 
nx.draw(G,with_labels=True) 
plt.show() # display 
+0

在networkx中,您可以將任何您想要的屬性附加到邊緣。添加'length'屬性或者什麼時你有沒有遇到異常? –

+0

你說「**但顯然它沒有工作**」你是怎麼理解的? – Alperen

回答

1

如何:

import networkx as nx 
import matplotlib.pyplot as plt 

G = nx.Graph() 
G.add_nodes_from([1,2]) 
G.add_edge(1,2, length = 10) 
pos = nx.spring_layout(G) 
nx.draw(G, pos) 
nx.draw_networkx_edge_labels(G, pos) 
plt.show() 

它看起來像這樣:

enter image description here

您也可以玩弄draw_networkx_edge_labels的參數打印出來剛好正是你想。

+0

Thanks @ nutmeg64 – user2293224