Защо graphviz рисува две стрелки и използва странен ред?

Защо graphviz рисува две стрелки от uncap_spike към peel и защо рисува peel вдясно от hang?

Искам uncap_spike -> peel -> hang -> 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)


Мисля, че rank=same може да е объркващо. Използвате ли го, за да държите всичко хоризонтално? В този случай има атрибут (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