graphviz:使节点排名独占

时间:2019-02-26 01:53:11

标签: nodes graphviz rank

这是Graphviz: make edges not affecting the hierarchy of nodes中的一个简单示例。

digraph G {
    a -> b
    a -> c
    c -> d
    c -> e
    a -> f
    c -> f
    { rank=same; c f }
}

即使仅指定了b,c,f,答案中的{ rank=same; c f }都处于同一等级

我的问题是:有没有办法让排名分别为cf

我指定{rank=same;989;988;952;953;950;951;}时遇到问题,但其他节点的排名相同。有什么技巧可以使等级独占一些?

1 个答案:

答案 0 :(得分:1)

我认为不可能使等级排他,但您可以手动从等级中踢出不需要的节点。

Dot规则是,当您用边缘连接两个节点时,头节点通常会提高其等级(除非其位置受其他边缘影响)。

所以您可能会遇到的情况:将不需要的节点连接到“排他”等级中的一个节点,并使该边缘不可见:

digraph G {
    a -> b
    a -> c
    c -> d
    c -> e
    a -> f
    c -> f
    { rank=same; c f }
    b -> c [style=invis]
}

结果:

enter image description here