2017-02-10 73 views
1

計算最短路徑看,似乎不和我一起工作:未能從邊緣列表networkx

import networkx as nx 
G = nx.read_edgelist(filename, delimiter=",", create_using=nx.DiGraph(), nodetype=int) 
print G 
print nx.shortest_path(G, 1, 5) 

我讀的文件是:

1,2 
2,3 
3,4 
4,5 

沒有輸出。

+0

你可以得到它在文件中讀取並打印出來給你只是爲了確認有沒有錯誤?最可能的解釋是,它不會讀取您認爲是的文件。 – Joel

回答

0

您的代碼適用於我。

import networkx as nx 
import matplotlib.pyplot as plt 

filename = 'test.txt' 
G = nx.read_edgelist(filename, delimiter=",", create_using=nx.DiGraph(), nodetype=int) 

nx.draw_networkx(G, with_labels=True) 
plt.axis('off') 
plt.show() 

print(type(G), G) 
# (<class 'networkx.classes.digraph.DiGraph'>, <networkx.classes.digraph.DiGraph object at 0x10e29c150>) 

print(nx.shortest_path(G, 1, 5)) 
#[1, 2, 3, 4, 5] 

產生,

enter image description here

+0

我得到[1]爲最短路徑。我不知道爲什麼 – Bob