2010-07-23 26 views
6

Je crée une visualisation de graphique DOT à partir d'une structure de données arborescente, mais j'ai des difficultés à définir des profondeurs de niveau fixes en fonction du type de données. Par exemple, si j'avais 4 noeuds dans un arbre et A représente un type de données spécifique et B représente une autre qu'il aimerait Graph_1:Comment définir les niveaux de profondeur fixes dans les graphiques DOT

         ROOT 
            / \ 
            A[0] B[1] 
           /  
           B[0]  

par opposition à Graph_2:

         ROOT 
            / \ 
            A[0] \ 
           /  \ 
           B[0]  B[1] 

Graph_2 est ce que je voudrais finir.

Les niveaux fixes sont ce que je cherche. Comment puis-je atteindre cet objectif? Je peux facilement identifier le type de données que j'ajoute au graphique, mais j'ai du mal à identifier les nœuds pour y parvenir. Cela peut-il être fait en utilisant des sous-graphes?

FYI, c'est la première fois que je joue avec DOT.

Répondre

3

Oui, les sous-graphes fonctionneront.

digraph { 
    subgraph { rank = same; A0 }; 
    subgraph { rank = same; B0; B1 }; 
    root -> A0; 
    A0 -> B0; 
    root -> B1; 
} 

résultats dans

alt text http://images.brool.com/upload/graph.jpg

+0

parfait, c'est exactement ce que je cherchais! Et même plus facile que ce à quoi je m'attendais. Merci. – Jagid