我正在尝试生成树形结构的流程图。我已经可以使用networkx创建代表性的图形,但是我需要一种在输出绘图时显示树形结构的方法。我正在使用matplotlib.pylab绘制图形。
我需要以类似于此处所示的结构来显示数据。虽然我没有子图。
如何保证这样的结构?
非信徒的例子:
我已经可以使用pylab和graphviz来显示图,但是都没有提供我要寻找的树结构。我已经尝试过networkx必须提供的所有布局,但是没有一个显示层次结构。我只是不确定要给它什么选项/方式,或者如果我需要使用权重。任何建议将帮助一堆。
@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()