なぜgraphvizはBの右側にCを描画しているのですか?私はそれを次のように見せたい
A
B E
C
代わりは。
digraph {
compound=true
subgraph cluster_1 { a -> b }
b -> c
{rank=same b -> e }
}
なぜgraphvizはBの右側にCを描画しているのですか?私はそれを次のように見せたい
A
B E
C
代わりは。
digraph {
compound=true
subgraph cluster_1 { a -> b }
b -> c
{rank=same b -> e }
}
グラフの総面積が増えるため、graphvizはこれを最小化しようとします。leftyやneatoなどのパッケージでさまざまなレイアウトユーティリティを使用して、より良い結果が得られるかどうかを確認できます。
あなたが探していることができるかどうかはわかりません。
dot が特定のグラフをレイアウトするとき、ランキングのために cluster_1 を単一のエンティティとして扱います。したがって、必要に応じて、cluster_1 のランクは 0 になります。次に、{rank=same b, e} と言うので、e もランク 0 になります。ドットが c を描画すると、c はより高いランク (ランク 1) になるため、描画されます。以下 e. この時点では x 軸のスペースを気にする必要がないため、e のすぐ下に c を描画します。
ノードcを他のすべての下に確実に描画したい場合は、追加できます
{ rank=sink c }
これは...あなたが目指しているものほど見栄えがよくありません。