在networkx中,如何计算平均路径长度为1或2的路径? 例如,在下面的这张图中,平均路径长度等于1,等于2,等于2。
import networkx as nx
import matplotlib.pyplot as plt
G=nx.DiGraph()
G.add_edges_from([(1, 2), (1, 5), (1, 6), (1, 9), (2, 3), (2, 4), (6, 7)])
pos=nx.spring_layout(G, iterations=5000)
plt.figure()
nx.draw(G, pos)
答案 0 :(得分:1)
如果我正确理解了您的问题,那么您的意思并不是平均路径长度,而是一般而言的简单路径长度。您的问题旨在查找具有给定长度的路径。
鉴于您的图似乎是一棵树,我们可以将树的根命名为'A',然后运行以下代码以生成所需的结果:
path=nx.single_source_shortest_path(G,'A',cutoff=2)
for i in path:
print(str(i)+" has path length "+ str(len(path[i]-1))))