2011-08-09 16 views
0

私は基本的な構造が順序付けられたツリーであるXMLファイルを持っています。私はこの木を表すネットワークで有向グラフを使用し、次にこの木を描きたいと思います。有向グラフをGとすると、次のコードを書く:Pythonで順序木を描くには?

map = dict(zip(id,tag)) # map from id to label 
pos = nx.pydot_layout(G,prog = 'dot') 
labels = nx.draw_networkx_labels(G, pos, map) 
nx.draw_networkx(G, pos, False, node_size = 1000, node_color = color) 
plt.show() 

私は順序木を得ることができない。ノードをシルヤーする順序は元の順序ではありません。

答えて

1

が変数mapを呼び出さないでください。私はPythonで順序木をプロットする方法を知りたい

、おかげで、mapと呼ばれる組み込みがあります。

あなたは順番にアイテムを保持するためにOrderedDictを使用することができます。

from collections import OrderedDict 
from itertools import izip 
themap = OrderedDict(izip(id,tag)) # map from id to label 

することもできますget it from PyPIあなたが2.7/3.2以上のPythonの古いバージョンを持っている場合。

+0

ありがとう、私は本当に可変マップの名前を付けてはいけません。しかし、私はまだこの順序木を描く方法を知らない。 draw_networkxは私に正しい木を与えません。 – peng

+0

"正しい木ではない"ということをもっと拘束しなければなりません。同じ基本構造を持っている木をもっと小さく作ってみてください。それで何が間違っているのか理解することができます。 – agf