我想渲染一个有向图,如:
A
^ ^
/ \
/ \
B C
但无论我把这些陈述放在什么顺序,dot都坚持要生成一个看起来像这样的图像:
B C
\ /
\ /
v v
A
我已尝试指定端口,但边缘只是环绕。它不会改变节点的位置。
答案 0 :(得分:4)
解决方案是rankdir
digraph G {
rankdir="BT"
B->A
C->A
}
答案 1 :(得分:1)
rankdir
就是解决方案。更灵活的方法是告诉边缘指向后方:
digraph G
{
A -> B[ dir = back ];
A -> C[ dir = back ];
}
产量
你也可以写
A -> { B C }[ dir = back ];
或者你可以给出在该指令后面定义的所有边的一般指令:
edge[ dir = back ];
这可以通过
撤消edge[ dir = forw ];
因此,
digraph G
{
edge[ dir = back ];
A -> B;
A -> C;
edge[ dir = forw ];
{ B C } -> D;
}
产量