尝试使用rank = same来控制graphviz中节点的排序,例如e.g. 我发现了这种非同寻常的行为。我想要的是按预期顺序获取节点a,b和c,即a然后b然后c:
digraph foo{
newrank=true
"o4"->"x3"
"o4"->"x4"
"o5"->"x3"
"o5"->"x4"
subgraph cluster_7 {
"a"->"i"
"b"->"i"
"c"->"i"
}
{rank="same";"a"->"b";"b"->"c"}
}
我认为没有理由为什么graphviz会破坏a,b和c的顺序。如果我改变代码的任何方面,例如删除o节点和x节点之间的一条边,问题就消失了。如果我删除newrank=true
,它也会消失,但我需要这个,因为否则rank=same
规范会将节点移出子图。如果我将子图形成一个普通的簇,它就会消失,即不要用cluster_
开始这个名字,但我也需要它。如果我删除rank=same
行,它就会消失,但我也需要这个。有什么想法吗?