2010-07-23 10 views
6

Sto creando una visualizzazione di grafici DOT da una struttura di dati ad albero, ma ho difficoltà a impostare profondità di livello fisse in base al tipo di dati. Ad esempio, se avevo 4 nodi in un albero e A denota un tipo di dati specifico e B rappresenta un altro vorrebbe Graph_1:Come impostare i livelli di profondità fissi nei grafici DOT

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

anziché Graph_2:

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

Graph_2 è quello con cui vorrei finire.

I livelli fissi sono quello che sto cercando. Come posso raggiungere questo obiettivo? Posso facilmente identificare quale tipo di dati sto aggiungendo al grafico, ma sto avendo problemi su come taggare i nodi per raggiungere questo obiettivo. Questo può essere fatto usando sottografi?

FYI, questa è la mia prima volta che gioco con DOT.

risposta

3

Sì, i sottografi funzioneranno.

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

risultati in

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

+0

Perfetto, questo è esattamente quello che stavo cercando! E ancora più facile di quanto mi aspettassi. Grazie. – Jagid

Problemi correlati