2009-10-02 14 views
24

que trato de mostrar bordes que van de derecha a izquierda (es decir, hacia atrás) usando puntos:derecho a bordes izquierdos en punto (Graphviz)

C <- A -> B 

Lo mejor que podía hacer era:

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

..que está bien, excepto que no me gusta usar c -> a cuando el borde está dirigido hacia el otro lado.

Así que quería compartir esta solución (que no parecía mencionarse en SO) y comprobar si me falta algo obvio.

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

+0

Esto no resuelve el problema de que el rango de los nodos para el borde ac todavía no se invierte en relación con el gráfico, a menos que lo escriba 'c -> a'. Ojalá alguien pudiera escribir 'a <- c'. : / – Evi1M4chine

Respuesta

32

no tengo otra alternativa al uso de su dir, pero puedo hacer que sea un poco más corto, si quieres alineación horizontal, utilice la propiedad rankdir del gráfico, para obligar a la dirección de izquierda a derecha.

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

Para hacer bordes apuntan hacia atrás de forma predeterminada:

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

A continuación, reemplazar el valor predeterminado para que apunte hacia delante:

c -> d [dir="forward"]; 
Cuestiones relacionadas