当一个graphviz有向图最适合使用点排列时,有没有办法解决一个大节点在相同等级的其他节点周围创建多余填充的问题?
例如,使用下图:
digraph {
b[label="line 1\nline 2\nline 3\nline 4\nline 5\nline 6\n"];
a -> b;
a -> c;
b -> f;
c -> d;
d -> e;
e -> f;
}
Run Code Online (Sandbox Code Playgroud)
由于左侧路径增加了在右侧路径中不需要如此高的等级的高度,因此该图显然比需要的要高。
有没有办法分别对两条路径进行布局?我认为使用集群子图可能会有所帮助,但即使在这种情况下,排名高度似乎也是完全全局的。
作为解决方法,您可以尝试添加edge[constraint = false];. 这将为所有边
设置属性值:constraint

或者constraint仅指定某些边的属性。
编辑:在子图的帮助下我们可以实现非常接近的结果:
digraph {
rankdir = LR;
b[label="line 1\nline 2\nline 3\nline 4\nline 5\nline 6\n"];
subgraph cluster_0 {
rank = same;
style = invis;
a -> c -> d -> e -> f [constraint = false];
}
a -> b;
b -> f;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
997 次 |
| 最近记录: |