是否可以在graphviz中将子图进一步分开

Car*_*han 4 dot graphviz graph-drawing bipartite

我正在graphviz中绘制一个二部图,我希望它有两列由直线连接的节点(以匹配其他地方使用的样式)。我基本上可以得到我想要的东西(见图片),但柱子靠得太近,这使得边缘不必要地难以追踪。

我试图在前两个节点之间添加一个非常低的权重连接,希望它将两个子图分开,但这不起作用(并且经常弄乱布局的其余部分)。有没有办法将右侧的节点列进一步向右移动。

这是一个示例,显示了我所看到的问题

两个子图靠得太近的有向图

这是我用来生成这个图的代码

graph G {
      splines=false;
      node[shape=circle, style=filled]
      subgraph cluster_1 {
      subgraph cluster_1r {
         a12 [label="a",fillcolor=lightgrey]
         b12 [label="b",fillcolor=lightgrey]
         c12 [label="c",fillcolor=lightgrey]
         d12 [label="d",fillcolor=lightgrey]
         e12 [label="e",fillcolor=lightgrey]
         a12--b12--c12--d12--e12 [style=invis]
         }
      subgraph cluster_1l {
         a11 [label="a",fillcolor=white]
         b11 [label="b",fillcolor=white]
         c11 [label="c",fillcolor=white]
         d11 [label="d",fillcolor=white]
         e11 [label="e",fillcolor=white]
         a11--b11--c11--d11--e11 [style=invis]
         }
         c11--a12 [constraint=false]
         c11--b12 [constraint=false]
         d11--b12 [constraint=false]
         e11--a12 [constraint=false]
         e11--b12 [constraint=false]
     }
}
Run Code Online (Sandbox Code Playgroud)

Car*_*han 5

在两列之间添加一个不可见的节点工作正常。基本上我加了这个

subgraph cluster_1m {
   color=invis;          
   a12m [style=invisible]
   }
Run Code Online (Sandbox Code Playgroud)

在两个子图之间。虽然这感觉很粗糙,但欢迎任何更优雅的解决方案。