Подтвердить что ты не робот

Как указать длину ребра в graphviz?

В ориентированном графе, если есть цикл, 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];
}

enter image description here

4b9b3361

Ответ 1

len не работает точно, но вы можете попробовать этот трюк:

digraph G {
rankdir=LR
a->b[dir=both]
b->c[dir=both,label="        "]// Just use the space to increase the edge length
}

Ответ 2

Из точки (1):

len=f sets the optimal length of an edge.  The default is 1.0.

Ответ 3

Вы можете сделать циклический край длиннее, добавив кучу невидимых циклических ребер перед вашим видимым, например:

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

OP's corrected graph