在networkx中,如何选择计算平均路径长度为1或2的路径?

时间:2018-07-23 15:26:33

标签: python networkx

在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)

enter image description here

1 个答案:

答案 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))))