如何在DOT文件中指定边缘向上

时间:2018-03-11 20:00:14

标签: graph graphviz dot

我想渲染一个有向图,如:

    A
   ^ ^
  /   \
 /     \
B       C

但无论我把这些陈述放在什么顺序,dot都坚持要生成一个看起来像这样的图像:

B       C
 \     /
  \   /
   v v
    A

我已尝试指定端口,但边缘只是环绕。它不会改变节点的位置。

2 个答案:

答案 0 :(得分:4)

解决方案是rankdir

digraph G {
 rankdir="BT"
 B->A
 C->A
}

答案 1 :(得分:1)

如果您想从下到上构建整个图表,

rankdir就是解决方案。更灵活的方法是告诉边缘指向后方:

digraph G
{
    A -> B[ dir = back ];
    A -> C[ dir = back ];
}

产量

enter image description here

你也可以写

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;
}

产量

enter image description here