2010-09-15 22 views
8

Intento crear diagramas para análisis MPLUS con punto del paquete graphviz. ¿Alguien tiene experiencia con el uso de puntos para visualizar modelos de ecuaciones estructurales/modelos de mezclas de clases latentes? En particular, es una característica que no puedo encontrar la manera de hacer muy bien:graphviz dot: cómo insertar flechas desde un nodo al centro de una flecha

necesito flechas de nodos para el centro de otra flecha como

  C 
      | 
      | 
      V 
    A ------------> B 

traté de insertar un invisible nodo en la intersección de las flechas. Esto, sin embargo, da como resultado una flecha A ---> B "agrietada" porque el punto lo representa como dos flechas independientes. ¿Esto es posible con dot?

¡Gracias por sugerencias y ayuda!

Gregor

Respuesta

10

Sobre la base de la respuesta de spenthil para deshacerse de la torcedura:

digraph { 
    ab[label="", fixedsize="false", width=0, height=0, shape=none]; 

    a -> ab[arrowhead=None]; 
    ab -> b; 
    c -> ab; 

    {rank=same; a; ab; b}; 
} 

Salida:

graphviz output

Otra posibilidad sería jugar con el atributo weight de los bordes para enderezar los bordes.

4

Lo siguiente impide las flechas "agrietadas". Desafortunadamente, Dot presenta un pliegue entre los bordes a -> ab y ab->b. No estoy al tanto de un algoritmo de diseño que lo impida.

digraph { 
    a; 
    ab[label="", fixedsize="false", width=0, height=0, shape=none]; 
    b; 
    c; 

    a -> ab[arrowhead=None]; 
    ab -> b; 
    c -> ab; 
} 

Salida:

alt text

Cuestiones relacionadas