Gli attributi in un grafo DOT
Nel linguaggio DOT, gli attributi sono proprietà che permettono di personalizzare l'aspetto e il comportamento di nodi, bordi (archi), grafici e sottografi.
Gli attributi vanno indicati dopo il nome del nodo o dell'arco tra parentesi quadre, separati tra loro da una virgola
Ad esempio, scrivo il nome del nodo A e indico tra parentesi quadre gli attributi color e fontcolor.
graph nome {
A -- B;
B -- C;
C -- A;
A [ color=red, fontcolor=blue ];
}
L'attributo color=red colora di rosso il bordo del nodo A mentre l'attributo fontcolor=blue colora di blu il testo all'interno del nodo A.
Allo stesso modo posso associare degli attributi agli archi, indicandoli tra parentesi quadre subito dopo la descrizione dell'arco.
graph nome {
A -- B;
B -- C [ color=red ];
C -- A;
}
In questo esempio coloro di rosso l'arco tra i nodi B e C.
Oltre agli attributi che ho utilizzato negli esempi ne esistono molti altri.
La lista degli attributi
Ecco alcuni degli attributi più comuni:
Attributi del nodo:
- color
specifica il colore del nodo. - fillcolor
specifica il colore di riempimento del nodo. - shape
determina la forma del nodo (es. ellipse, circle, box, etc.) - label
assegna un'etichetta testuale al nodo. - fontsize
definisce la dimensione del font dell'etichetta. - fixedsize
forza il nodo ad avere dimensioni specificate. - height e width
impostano l'altezza e la larghezza del nodo, rispettivamente. - URL
l'URL associato al nodo, se cliccato. - image
specifica un'immagine da usare come nodo.
Attributi degli archi:
- color
specifica il colore del bordo. - label
assegna un'etichetta testuale al bordo. - style
specifica lo stile del bordo (es. solid, dashed, dotted, etc.) - weight
influisce sulla lunghezza dell'arco. Più è grande il peso, più corto è l'arco. - arrowhead e arrowtail
specificano il tipo di freccia da disegnare all'inizio e alla fine dell'arco. - dir
la direzione dell'arco. - headlabel e taillabel
etichette da apporre all'inizio e alla fine dell'arco. - len
lunghezza preferita dell'arco.
Attributi del grafo:
- bgcolor
stabilisce il colore di sfondo del grafico. - fontsize
definisce la dimensione del font per le etichette del grafico. - label
assegna un'etichetta testuale al grafico. - layout
determina l'algoritmo di layout usato per il disegno del grafico (es. dot, neato, twopi, etc.) - rankdir
specifica la direzione dei ranghi (es. TB, LR, etc.) - clusterrank
controlla la modalità di raggruppamento dei nodi nel sottografo. - labelloc e labeljust
controllano la posizione e la giustificazione dell'etichetta del grafico o del sottografo. - nodesep
specifica la distanza tra i nodi adiacenti nel grafico. - ranksep
specifica la distanza tra i ranghi del grafico. - splines
controlla come vengono disegnati gli archi.
E così via.