我一直在努力解决这个问题,似乎无法找到答案.我正在使用graphviz中的复合子图,似乎无法找到正确的设置组合来强制两个子图彼此对齐.
附上一个简单的例子来说明问题......
digraph g {
compound=true;
subgraph cluster_top {
graph [color=black, label="Top", rank=min];
nodeA; nodeB; nodeC
cluster_top_DUMMY [shape=point style=invis]
}
subgraph cluster_service {
graph [color=black, label="Bottom", rank=min];
node1; node2; node3; node4; node5; extra_long_node
cluster_bottom_DUMMY [shape=point style=invis]
}
cluster_top_DUMMY -> cluster_bottom_DUMMY [ style=invis ]
}
Run Code Online (Sandbox Code Playgroud)
这会生成输出,Bottom子图比Top子图宽得多.

我真正想要的是确保顶部和底部的宽度始终完全相同.此外,如果有太多节点适合可用宽度,则会生成额外的节点行.