Networkx中的随机图和bfs

时间:2014-02-09 00:35:50

标签: python networkx

import networkx as nw
g=nw.random_regular_graph(3,10)
f=nw.dfs_tree(g,0)
print f

我想生成一个随机图并使用BFS来获取图的直径。我使用上面的代码,但没有显示。这有什么问题? Python的新手,希望有人能帮助我,谢谢。

2 个答案:

答案 0 :(得分:2)

print图表不会显示任何内容。

假设您打算显示f的每个边缘:

>>> g = nw.random_regular_graph(3, 10)
>>> f = nw.dfs_tree(g, 0)
>>> f
<networkx.classes.digraph.DiGraph object at 0x00000000030AA128>
>>> f.edges()
[(0, 9), (1, 3), (1, 7), (2, 1), (4, 6), (5, 4), (6, 2), (8, 5), (9, 8)]

阅读NetworkX Tutorial,您将获得有关如何使用networkx的基本知识

答案 1 :(得分:1)

如果要显示图表,则应使用Networkx函数draw()。此功能应与matplotlib一起使用。

所以,这是你的代码添加了显示图形的函数:

import networkx as nw
import matplotlib.pyplot as plt

g=nw.random_regular_graph(3,10)
f=nw.dfs_tree(g,0)

nw.draw(g)
plt.show()

此代码提供以下图表:

enter image description here

阅读我提供给您的链接,以便个性化您想要在图表中显示的内容。