2011-03-24 15 views
13

Estoy tratando de dibujar un diagrama bastante simple en punto.Cambiando la dirección del borde en el punto

digraph untitled 
    { 
    rankdir = LR; 
    {rank=same; S; A} 
    B -> A; 
    B -> S; 
    A -> A; 
    S -> S; 
    A -> S ; 
    S -> A; 
    A -> T; 
    S -> T; 
} 

Los resultados que se obtiene es

enter image description here

Realmente tengo que cambiar el borde de S -> S, pero también me gustaría cambiar la orientación de las flechas para que bucle de izquierda a derecha .

Respuesta

35

Para cambiar la orientación de cualquier flecha, puede simplemente usar dir=back:

S -> S [dir=back]; 

Pero en su caso, esto no parece ser necesario ... (ver más abajo)

Debido a

el solapamiento entre el borde S -> S y los A -> S y S -> A bordes, I sugieren utilizar sólo uno de los bordes entre S y a con una punta de flecha en ambos extremos:

digraph g { 
    rankdir = LR; 
    {rank=same; S; A} 
    B -> A -> T; 
    B -> S -> T; 
    A -> A; 
    S -> S; 
    A -> S[dir=both]; 
} 

graphviz output

0

No sé si es posible hacer que las flechas giren de izquierda a derecha. Puede ejercer un grado de control sobre las flechas por el uso de la opción dir por ejemplo

S->S[dir=both]; 

Además se puede influir en el diseño cambiando la longitud del enlace de S a S. También puede controlar las direcciones por ejemplo, de (no auto referencial) flechas invirtiendo el orden de los nodos se enumeran:

S->T; 
becomes 
T->S; 

he encontrado que casi siempre produce mejores diagramas, menos se ve limitada. Sugeriría experimentar con eliminar el rango = el mismo comando.

Cuestiones relacionadas