2010-09-15 26 views
8

J'essaie de créer des diagrammes pour les analyses MPLUS avec un point du package graphviz. Quelqu'un a-t-il l'expérience de l'utilisation du point pour visualiser des modèles d'équations structurelles/des modèles de mélange de classes latentes? Il est en particulier une caractéristique que je ne peux pas comprendre comment faire magnifiquement:graphviz dot: comment insérer des flèches d'un nœud au centre d'une flèche

J'ai besoin des flèches de nœuds au centre d'une autre flèche comme

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

J'ai essayé d'insérer un invisible noeud à l'intersection des flèches. Cependant, cela entraîne une flèche A ---> B "fissurée" parce que le point la représente comme deux flèches indépendantes. Est-ce encore possible avec dot?

Merci pour vos suggestions et aide!

Gregor

Répondre

10

Miser sur la réponse de spenthil pour se débarrasser de la Kink:

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

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

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

Sortie:

graphviz output

Une autre possibilité serait de jouer avec l'attribut weight des arêtes pour redresser les arêtes.

4

Ce qui suit empêche les flèches «fissurées». Dot introduit malheureusement un pli entre les bords a -> ab et ab->b. Pas conscient d'un algorithme de disposition qui empêche cela.

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

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

Sortie:

alt text