我正在尝试生成树结构的流程图.我已经能够使用networkx创建代表图,但我需要一种方法来在输出图时显示树结构.我正在使用matplotlib.pylab来绘制图形.
我需要在类似于此处所示的结构中显示数据.虽然我没有子图.
我怎样才能保证这样的结构呢?
非信徒的例子:

我已经能够用pylab和graphviz显示图形,但都没有提供我正在寻找的树形结构.我已经尝试过网络必须提供的每个布局,但它们都没有显示层次结构.我只是不确定提供它的选项/模式或者如果我需要使用权重.任何建议都会有所帮助.
@jterrace:
这是我用来制作上图的粗略轮廓.我添加了一些标签,但除此之外它是相同的.
import networkx as nx
import matplotlib.pyplot as plt
G = nx.Graph()
G.add_node("ROOT")
for i in xrange(5):
G.add_node("Child_%i" % i)
G.add_node("Grandchild_%i" % i)
G.add_node("Greatgrandchild_%i" % i)
G.add_edge("ROOT", "Child_%i" % i)
G.add_edge("Child_%i" % i, "Grandchild_%i" % i)
G.add_edge("Grandchild_%i" % i, "Greatgrandchild_%i" % i)
plt.title("draw_networkx")
nx.draw_networkx(G)
plt.show()
Run Code Online (Sandbox Code Playgroud) 我正在尝试显示我的类层次结构的树形图,我networkx.将它全部正确绘制,并且显示正常.但是作为一个带有交叉边的圆形图,它是一个纯粹的层次结构,似乎我应该能够将它显示为树.
我已经广泛搜索了这个,并且提供的每个解决方案都涉及使用pygraphviz......但是PyGraphviz不能使用Python 3(来自pygraphviz网站的文档).
有没有人能够在Python 3中获得树形图显示?
我看到很多关于正确安装pygraphviz和graphvizWindows for Python 2.7的问题.但我找到的答案都没有解决我的问题.这是我做的:
C:\Users\chamar\AppData\Local\Continuum\Anaconda)C:\Program Files (x86)\Graphviz2.36import pygraphvizPython中的命令有效.但是,当我想用说,这功能nx.graphviz_layout我得到raise ValueError("Program %s not found in path."%prog)
可能导致此问题的原因是pygraphviz无法找到路径graphviz.现在,因为我pygraphviz使用非官方的Windows二进制文件安装,我可以修改哪个文件来链接library和includefor graphviz的路径?你会通常你找到setup.py的pygraphviz在library和include路径,当你不使用非官方的二进制文件.
更新1
我加入PATH的Regedit下SOFTWARE一个新的文件夹GRAPHIZ key(默认)值为C:\Program Files (x86)\Graphviz2.36\bin
更新2
我在pydot.py文件中有关于Python找到Graphviz路径的难度的错误.我做了如下修改:
def _graphviz():
if os.sys.platform == 'win32':
path = r"C:/Program Files (x86)/Graphviz2.36/bin/"
progs …Run Code Online (Sandbox Code Playgroud)