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

Как я могу направить точку, чтобы использовать более короткий путь кромки?

Диаграмма ниже выложена почти идеально, кроме края левой "именованной трубы" node на "cat", которая занимает длинный круговой маршрут, вместо очевидного короткого, отмеченного красным на диаграмме ниже. Есть ли способ прямой точки использовать короткий путь кромки? Обратите внимание, что диаграмма последовательности на нижней диаграмме должна отображаться так, как она отображается в данный момент, то есть в порядке слева направо.

enter image description here

Это код, который рисует диаграмму.

digraph D {
fontname="Arial";
subgraph cluster_async {
    label="Asynchronous processes";
    style=filled;
    color=lightgrey;

    node [shape=box, style=solid, fillcolor=white, fontname="Arial"];
    {
        rank=same;
        npi_0_0_0 [label="named\npipe"];
        npi_0_3_0 [label="named\npipe"];
        npi_0_2_0 [label="named\npipe"];

    }

    node [shape=box, style=bold];
    tee [label="sgsh-tee"];
    "ls -l" -> tee;
    tee -> npi_0_0_0;
    tee -> npi_0_3_0;
    tee -> npi_0_2_0;

    NBYTES [label="sgsh-writeval -s NBYTES"];
    npi_0_3_0 -> "awk '{s += $5} END {print s}'" -> NBYTES;

    NDIRS [label="sgsh-writeval -s NDIRS"];
    npi_0_2_0  -> "grep -c '^d'" -> NDIRS;

    // Put some order in the appearance
    {
        rank=same;
        NDIRS;
        NBYTES;
    }
}

subgraph clustersync {
    label="Synchronous sequence";
    style=dashed;
    start [shape=circle, style=filled, label="", fillcolor=black, width=.2];
    node [shape=box, style=bold, fontname="Arial"];
    npi_0_0_0:sw -> cat:nw [constraint=false];
    "sgsh-readval -s NDIRS" -> echo;
    "sgsh-readval -s NBYTES" -> echo;

    NBYTES -> "sgsh-readval -s NBYTES";
    NDIRS -> "sgsh-readval -s NDIRS";

    end [shape=doublecircle, style=filled, label="", fillcolor=black, width=.2];
    {
        rank=same;
        edge [arrowhead=open];
        start -> cat -> echo -> end;
    }
}
}

(Если вам интересно, диаграмма иллюстрирует настройку примера из sgsh.)

4b9b3361

Ответ 1

Для этого графика установка splines = ortho даст желаемый результат. enter image description here