2013-08-06 8 views
7

Sto usando graphviz per disegnare grafici diretti. Ora la cosa è che, sebbene io sia in grado di generare correttamente il grafico, il grafico è progettato orizzontalmente e non è conforme alle mie esigenze. grafici Quindi, come può traggo diretto verticalmente Vi prego di aiutare con questographviz disegno grafico verticale

+3

Qual è l'impostazione [rankdir] (http://www.graphviz.org/doc/info/attrs.html#d:rankdir)? –

+0

@Anders Lindahl Non ho definito le proprietà di rankdir. per favore suggeriscimi quale modifica devo eseguire – user2060673

+2

Mostra un esempio della descrizione del tuo grafico e il comando che usi per renderlo. –

risposta

10

Dato il seguente script, che ho estratto dai commenti alla domanda ed editati per farlo funzionare con successo, eliminando alcuni punti e virgola estranei:

digraph G { 
    graph [ bgcolor=lightgray, resolution=128, fontname=Arial, fontcolor=blue, fontsize=10 ]; 
    node [ fontname=Arial, fontcolor=blue, fontsize=10]; 
    edge [ fontname=Helvetica, fontcolor=red, fontsize=10 ]; 
    "arunachaltourism.com/" -> "webcomindia.biz/profile.php"; 
    "arunachaltourism.com/#" -> "arunachaltourism.com/"; 
    "arunachaltourism.com/aalo.php" -> "arunachaltourism.com/"; 
} 

Ho chiamato lo script x.dot. Ora, in esecuzione:

dot x.dot -Tjpg -o x.jpg 

... produce:

enter image description here

... perché l'impostazione predefinita è rankdir=BT. Inserimento:

rankdir=LR 

... come la seconda riga dello script e l'esecuzione dello script attraverso dot volta dà:

enter image description here

Così, non è chiaro perché il grafico potrebbe sono stati disegnati orizzontalmente la prima volta, ma sarete in grado di vedere come usare rankdir può far uscire il grafico orizzontalmente o verticalmente.

+0

Questo è esattamente quello che stavo cercando – curiosa

7

(! Vecchia questione, ma perché non)

Si può anche eseguire:

dot -Grankdir=LR -Tpng myfile.dot -ogeneratedpng.png 
0

È possibile utilizzare rankdir come una proprietà nel file dot:

digraph G { 
    rankdir=LR; //left to right 
    //B bottom T top L left R right 
     start->a1; 
     a1 -> b3; 
     b2 -> a3; 
     a3 -> a0; 
     a3 -> end; 
     b3 -> end; 
    } 

Il script genera il seguente grafico da sinistra a destra:

Puoi provare la sceneggiatura online enter image description here