我已经苦恼了一段时间,但似乎找不到一个明确的答案。我正在使用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 ]
}
这将生成底部子图明显比顶部子图宽的输出。
我真正想要的是确保顶部和底部始终具有完全相同的宽度。此外,如果有太多节点无法适应可用宽度,则会生成其他行节点。