如何在Graphviz中创建具有特定位置的节点的子图/簇,然后让Graphviz根据一组相互连接的边(即不在子图中的边)旋转和排列这些子图?
这是我目前的尝试。问题是,我希望能够定义节点的内部顺序,例如,子图"3“中的节点在一行中对齐(并且总是排序为able ):
graph {
forcelabels=true
color=lightgrey
subgraph cluster_1 {
node[shape=point]
{rank=same r1A r1B}
label="1"
r1A [xlabel="A", fontsize=7]
r1B [xlabel="B", fontsize=7]
}
subgraph cluster_2 {
node[shape=point]
{rank=same r2A r2B}
label="2"
r2A [xlabel="A", fontsize=7]
r2B [xlabel="B", fontsize=7]
}
subgraph cluster_3 {
node[shape=point]
{rank=same volA volB volC}
label="3"
volA [xlabel="A", fontsize=7]
volB [xlabel="B", fontsize=7]
volC [xlabel="C", fontsize=7]
}
}

如果我添加边,我希望Graphviz能够旋转子图,但同时保持内部布局和顺序。在这里,使用引擎fdp,子图"3“会重新排列(原因很明显,因为我没有任何方法来修复布局):

那么更高级的“布局”呢?是否有可能/可行地制作一个类似于微控制器的子图,例如:


发布于 2022-05-20 17:51:51
https://stackoverflow.com/questions/72306280
复制相似问题