4

私はgraphvizで2部グラフを描いています.2列のノードを直線で接続したいです(他の場所で使用されているスタイルに一致させるため)。ほとんどの場合、必要なものを取得できます (画像を参照) が、列が近すぎて端をたどるのが不必要に難しくなります。

2 つのサブグラフを引き離すことを期待して、上位 2 つのノード間に非常に低い重みの接続を追加しようとしましたが、うまくいきません (そして、レイアウトの残りの部分が台無しになることがよくあります)。ノードの右側の列をさらに右に移動する方法はありますか。

これは私が見ている問題を示す例です

2 つの部分グラフが近すぎる有向グラフ

これが、このグラフを生成するために使用したコードです

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]
     }
}
4

1 に答える 1

5

2 つの列の間に非表示のノードを追加すると、問題なく動作します。基本的にこれを追加しました

subgraph cluster_1m {
   color=invis;          
   a12m [style=invisible]
   }

2 つのサブグラフの間。ただし、これは非常に粗雑に感じられるため、よりエレガントなソリューションは歓迎されます。

于 2013-01-04T18:27:10.347 に答える