Graphviz子图布局

Graphviz子图布局,graphviz,dot,Graphviz,Dot,我有以下图表: digraph G { rankdir=TB subgraph cluster_1 { label = "cluster1" 1; 2; 3; 4; 5; 6; 7; 8; 9; 10; } subgraph cluster_2 { label = "cluster2" 11; 12; 13; 14; 15; } subgraph cluster

我有以下图表:

digraph G {
    rankdir=TB
    subgraph cluster_1 {
      label = "cluster1"
      1; 2; 3; 4; 5; 6; 7; 8; 9; 10;
    }
    subgraph cluster_2 {
      label = "cluster2"
      11; 12; 13; 14; 15;
    }
    subgraph cluster_3 {
      label = "cluster3"
      16; 17; 18; 19; 20; 21;
    }
  7 -> {10, 3, 4}
  10 -> 9
  4 -> {1, 6, 5, 2}
  4 -> 13
  8 -> {3, 4}
  13 -> {11, 12}
  11 -> {16, 14, 15}
  16 -> {17, 19, 20, 21, 18}
}
我看到的结果是:


如何严格垂直放置所有群集?

不幸的是,没有一个属性可以实现您想要的功能。但如果将这3条线添加到图形中:

  edge [style=invis]
  {6 1} -> 13
  {14 15} ->16
您可以看到:

谢谢。但这不是一个自动化友好的解决方案。它也不能很好地处理较长节点的名称。