Graphvizで作成したグラフがありますが、問題はエッジが互いに重なり合っていることです(各行に5〜7個のノードがあります)。
エッジが互いに重ならないようにするにはどうすればよいですか?互いに交差させることは問題ありません。
ドットでレイアウトした有向グラフがあると仮定しています。
エッジが重ならないようにする魔法のスイッチはないと思います。 Graphvizは、それをすぐに実行しようとします。
グラフに応じて役立ついくつかの提案:
別のアプローチは、グラフにオーバーラッププロパティを追加することです。許容されるプロパティは、scale(出力のサイズが大幅に増加します)またはfalse(サイズはそれほど増加しませんが、エッジがノードとオーバーラップする可能性があります)です。
overlap = scale;
Overlay = falseを使用している場合、splines=true:
属性を追加することで、ノードとのエッジのオーバーラップを取り除くことができます
overlap = false;
splines = true;
これにより、大きなグラフの生成時間が大幅に遅くなります。
かなり些細なグラフであっても、オーバーラップを生成するためにgraphviz
(neato
、fdp
)が表示されます。例えば:
graph G {
0;
1;
2;
3;
0--1 ;
1--2 ;
2--3 ;
3--0 ;
}
コードの私のバージョンでクロスを生成します2.38.0
。 documentation から、彼らは異なるランダムシードを試すことを推奨しています。たとえば、これは私のために働いた:
neato -Gstart=5 file.dot -Tps -o file.ps