2009-10-02 10 views
24

Próbuję wyświetlić krawędzie dzieje od prawej do lewej (czyli do tyłu) za pomocą kropki:prawej do lewej krawędzi w kropki (Graphviz)

C <- A -> B 

Najlepszym mogłem zrobić, to:

digraph { 
    a -> b; 
    c -> a [dir="back"]; 
    {rank=same;c a b} 
} 

.. co jest w porządku, chyba że nie lubię używać c -> a kiedy krawędź jest skierowana w drugą stronę.

Tak więc chciałem podzielić się tym rozwiązaniem (które nie było wspomniane na SO) i sprawdzić, czy brakuje mi czegoś oczywistego.

Patrz: http://www.graphviz.org/doc/info/attrs.html#k:dirType

+0

to nie rozwiązuje problemu, że ranga węzłów dla krawędzi ac wciąż nie jest odwrócona względem wykresu, chyba że napiszesz ją 'c -> a'. Chciałbym móc napisać 'a <- c'. : / – Evi1M4chine

Odpowiedz

32

nie mam alternatywy dla swojej użycia dir, ale mogę zrobić to nieco krótsza, jeśli chcesz wyrównanie poziome, należy użyć właściwości wykresu rankdir, aby wymusić kierunek od lewej do prawej.

digraph { 
    rankdir=LR; 
    a->b; 
    c->a [dir="back"]; 
} 
4

Aby krawędzie wskazują tyłu domyślnie:

digraph { 
    edge [dir="back"]; 
    a -> b; 
    c -> a; 
} 

Następnie zastąpić domyślny punkt do przodu:

c -> d [dir="forward"]; 
Powiązane problemy