首页 > 解决方案 > 如何在 Graphviz 中垂直对齐子图簇?

问题描述

有人知道如何垂直对齐这些子图吗?

digraph G {
  rankdir=LR;
  node [shape=record, style=rounded, fontname="Arial"];
  subgraph cluster1 {
    label = "Group 1";
    rank=same;
    A [label="A1|A2"]
    A -> B -> C -> D [constraint=false];
    style = "dashed";
  }

  subgraph cluster2 {
    label = "Group 2";
    rank=same;
    Z -> Y -> X -> W [dir=back, constraint=false];
    style = "dashed";
  }

  D -> Z;
}

我想将第 2 组上移到第 1 组的中心。 在此处输入图像描述

几乎用这段代码做到了这一点,但它仍然没有对齐:

digraph G {
  rankdir=LR;
  node [shape=record, style=rounded, fontname="Arial"];

  subgraph cluster1 {
    group=g1;
    label = "Group 1";
    rank=same;
    A [label="A1|A2"];
    A -> B -> C -> D [constraint=false];
    style = "dashed";
  }

  subgraph cluster2 {
    group=g2;
    label = "Group 2";
    rank=same;
    Z -> Y -> X -> W [dir=back, constraint=false];
    style = "dashed";
  }

  D -> Z;

  edge[style=invis];
  A -> Z;
  D -> W;
}

第 2 组应向上移动到中心。 在此处输入图像描述

标签: graphvizdot

解决方案


推荐阅读