2017-02-10 4 views
1

Computing den kürzesten Weg zu lesen scheint nicht mit mir zu arbeiten:von Kantenliste Failing in 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) 

Die Datei Ich lese ist:

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

Es erfolgt keine Ausgabe.

+0

Sie bekommen es in der Datei zu lesen und es nur um Sie ausdrucken, um zu bestätigen, dass es keinen Fehler ist? Die wahrscheinlichste Erklärung ist, dass es nicht in der Datei einliest, die Sie denken, dass es ist. – Joel

Antwort

0

Ihr Code funktioniert für mich.

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] 

, die können produziert,

enter image description here

+0

Ich bekomme [1] als kürzesten Weg. Ich weiß nicht warum – Bob