Есть ли способ гарантировать иерархический вывод из NetworkX?Python

Программы на Python
Anonymous
Есть ли способ гарантировать иерархический вывод из NetworkX?

Сообщение Anonymous »

Я пытаюсь создать блок-схему деревовидной структуры. Мне удалось создать репрезентативные графики с помощью networkx, но мне нужен способ показать структуру дерева при выводе графика. Я использую matplotlib.pylab для построения графика.

Мне нужно отобразить данные в структуре, аналогичной той, что показана здесь. Хотя у меня нет подграфов.

Как я могу гарантировать такую ​​структуру?

Примеры для неверующих:

Изображение
< /p>

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


Подробнее здесь: https://stackoverflow.com/questions/114 ... m-networkx

Вернуться в «Python»