如何在Python中绘制有序树?
我有一个XML文件,它的基本结构是一个有序树。我在表示这个树的时候用到了有向图(digraph),然后我想把这个树画出来。假设这个有向图叫做G,我写了以下代码:
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()
但是我画出来的树不是有序的,兄弟节点的顺序和原来的顺序不一样。
我想知道怎么在Python中绘制一个有序树,谢谢。
1 个回答
1
不要把一个变量命名为 map
,因为Python里已经有一个叫 map
的内置函数了。
你可以使用 OrderedDict 来保持项目的顺序:
from collections import OrderedDict
from itertools import izip
themap = OrderedDict(izip(id,tag)) # map from id to label
如果你的Python版本低于2.7或3.2,你也可以从 PyPI 下载这个库。