Почему graphviz рисует две стрелки в странном порядке?

Почему graphviz рисует две стрелки от uncap_spike до Peel и почему Peel рисует справа от Hang?

Я хочу, чтобы uncap_spike -> кожура -> повесить -> шип, в таком порядке, с одним краем между каждым.

http://grab.by/33kA

digraph hangers {
    compound=true
    fontname="Gill Sans"

    node [fontname="Gill Sans" shape=box fillcolor=white style="rounded, filled"]
    edge [fontname="Gill Sans"]

    subgraph cluster_prep {
        style="filled"
        label=Prep

        gather [shape=Mrecord label="{gather | EtOH swab\nvented tubing}"]
        uncap_bottle   [label="uncap bottle"]
        uncap_spike [label="uncap spike"]
        swab [shape=Mrecord label="{swab EtOH | wait 30 seconds for sterility}"]
        gather -> uncap_bottle -> swab -> uncap_spike
        {rank=same gather uncap_bottle swab uncap_spike}
    }

    subgraph cluster_hang {
        style=filled
        label=Hang

        {rank=same peel hang}

    }

    {rank=same uncap_spike -> peel -> hang -> spike -> prime}

    hang -> rip [color=firebrick]
    rip [label="eyelet\nripped" style="filled" shape=octagon regular fontcolor=white
     fontsize=10 width=.5 fixedsize color=firebrick fillcolor=firebrick ]

    swab -> not_sterile [color=firebrick]
    not_sterile [label="not\nsterile" style="filled" shape=octagon regular fontcolor=white
     fontsize=10 width=.5 fixedsize color=firebrick fillcolor=firebrick ]


}

person Daniel    schedule 14.03.2010    source источник


Ответы (1)


Я думаю, что ранг = тот же может сбивать с толку. Вы используете его, чтобы держать все горизонтально? В этом случае есть атрибут (rankdir?), который можно применить ко всему графу.

person Anders Abel    schedule 14.03.2010
comment
У меня возникает другая проблема, когда я пытаюсь использовать rankdir=LR: grab.by/33o7 Почему зависает шип ВЫШЕ, а не Направо? - person Daniel; 14.03.2010
comment
IIRC есть способы указать размер чертежа, и они могут иметь значения по умолчанию, пытаясь сохранить его на одной странице (независимо от размера). Существует также атрибут (но я не помню его названия), который можно использовать для указания разницы уровней миниума между двумя узлами, что может помочь в вашей ситуации rankdir=LR. - person Anders Abel; 14.03.2010