私はツリー構造のフロー図を作成しようとしています。私はnetworkxで代表的なグラフを作成することができましたが、プロットを出力するときにツリー構造を表示する方法が必要です。私はグラフをプロットするためにmatplotlib.pylabを使用しています。NetworkXからの階層出力を保証する手段はありますか?
データは、hereのような構造で表示する必要があります。私はサブグラフを持っていませんが。
どうすればそのような構造を保証できますか?不信者のための
例:
私はpylabとgraphvizのとグラフを表示することができましたが、どちらもオファーがツリー構造私が探しています。私はxが提供しなければならないすべてのレイアウトネットワークを試しましたが、それらのどれも階層を示していません。私はちょうど私がウエイトを使用する必要がある場合オプション/モードまたはを与えるにはわからない。どんな提案も束に役立ちます。
@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()
ああ!だから私が必要としたのは、「ドット」レイアウトを持つ有向グラフでした。私はそれが非常に小さいものであることを知っていた。ありがとうAric! – max
ノードに昇順にラベルを付ける良い方法はありますか?これは私がグラフg = nx.full_rary_tree(2,10)を作成することを意味しています。私がエッジを印刷すると、 '[(0,1)、(0,2)、(1,3)、( 1、4)、(2、5)、...] 'しかし、それは異なる順序でそれらを視覚化します... – CodeKingPlusPlus
どのような順序が欲しいですか? bfs_edges()およびdfs_edges()を参照してください。 – Aric