Graphviz 如何在两个或多个簇的节点之间获得水平边?

Graphviz 如何在两个或多个簇的节点之间获得水平边?,graphviz,Graphviz,我必须将A和B群集,每个群集有3个节点。我需要以两部分的方式连接集群之间的节点 此代码: digraph G { subgraph cluster_A { style=filled; color=lightgrey; edge [style=invisible,dir=none]; node [style=filled,color=white]; a1 -> a2 -> a3; } subgraph cluster_B { styl

我必须将A和B群集,每个群集有3个节点。我需要以两部分的方式连接集群之间的节点

此代码:

digraph G {

subgraph cluster_A {
    style=filled;
    color=lightgrey;
    edge [style=invisible,dir=none];
    node [style=filled,color=white];
    a1 -> a2 -> a3;
}

subgraph cluster_B {
    style=filled;
    color=lightgrey;
    edge [style=invisible,dir=none];
    node [style=filled,color=white];
    b1 -> b2 -> b3;
}
a1 -> b1;
a2 -> b2;
a3 -> b3;
}
几乎符合我对点的要求,但簇B与簇A不在同一级别。它被低于A的部分抵消


如何防止此偏移并使两个群集处于同一级别?

对于此特定图形,您可以使用

edge[constraint=false];
要使节点之间的边不影响布局,请执行以下操作:

digraph G {
  subgraph cluster_A {
      style=filled;
      color=lightgrey;
      edge [style=invisible,dir=none];
      node [style=filled,color=white];
      a1 -> a2 -> a3;
  }

  subgraph cluster_B {
      style=filled;
      color=lightgrey;
      edge [style=invisible,dir=none];
      node [style=filled,color=white];
      b1 -> b2 -> b3;
  }

  edge[constraint=false];
  a1 -> b1;
  a2 -> b2;
  a3 -> b3;
}

对于此特定图形,您可以使用

edge[constraint=false];
要使节点之间的边不影响布局,请执行以下操作:

digraph G {
  subgraph cluster_A {
      style=filled;
      color=lightgrey;
      edge [style=invisible,dir=none];
      node [style=filled,color=white];
      a1 -> a2 -> a3;
  }

  subgraph cluster_B {
      style=filled;
      color=lightgrey;
      edge [style=invisible,dir=none];
      node [style=filled,color=white];
      b1 -> b2 -> b3;
  }

  edge[constraint=false];
  a1 -> b1;
  a2 -> b2;
  a3 -> b3;
}

你是说你只是想要集群a和b之间的水平连接吗?这是正确的。我只需要集群A的节点和集群B的节点之间的1对1水平连接。你是说你只需要集群A和B之间的水平连接吗?这是正确的。我只想在集群A的节点和集群B的节点之间建立1对1的水平连接。