13

私の質問は本質的にこれと同じですが、与えられた答えは私にはうまくいきません。

これはサンプルレンダリング(ソース)です

compound=true;
overlap=scalexy;
splines=true;
layout=neato;

ここに画像の説明を入力

エッジに不必要なオーバーラップがありますが、これはそれほど悪くはありません。主な問題は、無駄なスペースです。

設定sep=-0.7;してみましたが、こうなります。

ここに画像の説明を入力

間隔はかなり良くなりましたが、ノードとのオーバーラップがいくつかあります。さまざまなパラメーターを試してoverlapみましたが、リモートで許容できる結果が得られるのはこれだけです。

fdp レイアウトに変更して、ばね定数属性Kをグローバルに設定しようとしましたが、次のようなものが得られました。

ここに画像の説明を入力

ソースはすべて簡単a--b--cなもので、派手なトリックはありません。

私が望むのは、この調整によって新しいオーバーラップが導入されない限り、すべてのエッジを可能な限り (最小まで) 短縮することです。これはsep完全に失敗する場所です。これは、レイアウト エンジンが実行するのが難しすぎるとは思えません。Graphviz スイートで可能ですか? レンダリング ソフトウェアの変更は気にしませんが、ノードごとまたはエッジごとにソースに注釈を付けたくありません。

私の理想的な結果は、一度に 1 つのノードと見なされるエッジ長の偏差を最小限に抑えることです。つまり、各ノードは、必要な例外を除いて同じ長さのエッジを持つことになりますが、それは希望的観測です。優先順位は、オーバーラップを導入できないという制約の下で、各エッジの長さを減らすことです。

部分的な解決策は受け入れますが、完全に自動化されたオープン ソースでなければなりません。

これどうやってするの?ありがとう。

4

3 に答える 3

1

設定する必要があります

overlap = compress;

これにより、可能な限り圧縮されます。sep = +1; を試してください。最初に、次に 0 から +1 の間の値を試して、最適な設定を見つけてください。

于 2015-01-22T09:53:07.010 に答える