트리 구조 의 흐름도를 생성하려고합니다 . 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()