有向グラフでは、サイクルがある場合、graphvizはそのエッジを本当に短くします。
グラフが少し均一に見えるように、サイクリックエッジの長さを変更できるパラメータはありますか?.
digraph ER {
rankdir="LR";
//orientation=landscape;
node [shape=ellipse, fontsize=30];
{node [label="Original"] old;}
{node [label="Final"] new;}
{node [label="Intermediate"] ir;}
old -> ir [label="suggest", fontsize=30];
ir -> ir [label="validate", fontsize=30, len=f];
ir -> new [label = "finalize", fontsize=30];
}
len
はドットでは機能しませんが、次のトリックを試すことができます。
digraph G {
rankdir=LR
a->b[dir=both]
b->c[dir=both,label=" "]// Just use the space to increase the Edge length
}
Dot(1)から:
len=f sets the optimal length of an Edge. The default is 1.0.
編集:申し訳ありませんが、残念ながら、以下はあなたの問題、私の間違いでは機能しませんが、自己参照ではないエッジが長くなります。
lenはドットでは機能しませんが、minlenは機能します。
https://www.graphviz.org/doc/info/attrs.html#d:minlen
x->y
[minlen=5]
次のように、表示されているエッジの前に非表示のサイクリックエッジの束を追加することで、サイクリックエッジを長くすることができます。
digraph ER {
rankdir="LR";
//orientation=landscape;
node [shape=ellipse, fontsize=30];
{node [label="Original"] old;}
{node [label="Final"] new;}
{node [label="Intermediate"] ir;}
old -> ir [label="suggest", fontsize=30];
ir -> ir [style="invis"]
ir -> ir [style="invis"]
ir -> ir [style="invis"]
ir -> ir [style="invis"]
ir -> ir [label="validate", fontsize=30, len=f];
ir -> new [label = "finalize", fontsize=30];
}
次の属性「anodesep」がsfdpでこの問題を解決するのに役立つことがわかりました。