如何从左到右画树

How to draw trees left to right

考虑下面的树。

import matplotlib.pyplot as plt
import networkx as nx
import pydot
from networkx.drawing.nx_pydot import graphviz_layout

T = nx.balanced_tree(2, 5)

for line in nx.generate_adjlist(T):
    print(line)

pos = graphviz_layout(T, prog="dot")
nx.draw(T, pos, node_color="y", edge_color='#909090', node_size=200, with_labels=True)

plt.show()

如何从左向右绘制,使整个图像旋转 90 度,根在右边?

您可以使用 graphviz 的 rankdir 属性来执行此操作,该属性可以通过以下方式在 networkx 图形上设置:

T.graph["graph"] = dict(rankdir="RL")

networkx issue #3547 提供了有关设置图形属性的更多信息。