graphviz:使节点排名独占

问题描述 投票:0回答:1

这是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;}但其他节点出现在同一级别时,我遇到了问题。任何技巧使排名独家一些如何?

nodes graphviz rank
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.