import networkx as nw
g=nw.random_regular_graph(3,10)
f=nw.dfs_tree(g,0)
print f
我想生成一个随机图并使用BFS来获取图的直径。我使用上面的代码,但没有显示。这有什么问题? Python的新手,希望有人能帮助我,谢谢。
答案 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()
此代码提供以下图表:
阅读我提供给您的链接,以便个性化您想要在图表中显示的内容。