我在 python 中使用 graphviz 模块中的 Digraph 来可视化树。 我通过
Digraph.node()
创建节点并通过 Digraph.edge()
创建边。
我想指定哪个应该是右节点,哪个应该是左节点。 但它会自动将第一个创建的节点设置为左子节点,将第二个创建的节点设置为右子节点。
例如在这段代码中:
from graphviz import Digraph
test = Digraph()
test.node('a')
test.node('b')
test.node('c')
test.edge('c', 'b')
test.edge('c', 'a')
test
输出为:
我希望“b”节点是左子节点,“a”节点是右子节点,如下所示:
我应该强调我不能先创建“b”节点然后再创建“a”节点。
有没有办法用这个库为我做这件事?如果这个模块没有任何解决方案,请推荐另一个模块。
这是一个相当合理的愿望,但是在 python-to-graphviz 接口(或 Graphviz 本身)中没有任何内容明确设置从上到下和从左到右的定位。
但是,您可能可以通过在 python 程序中进行一些“额外”簿记来获得所需的输出。要么:
或
第一个备选方案可能是最容易开始的地方,甚至可能导致更小更简洁但稍微复杂一点的程序。祝你好运。