Я пытаюсь создать блок-схему древовидной структуры. Я смог создать репрезентативные графики с помощью 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()