2017-02-10 76 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