Come aggiungere etichette per bordi in Graphviz?


169

Sto cercando di disegnare un grafico usando Graphviz, ma devo aggiungere etichette ai bordi. Sembra che non ci sia modo di farlo in Graphviz. C'è una via d'uscita?

Risposte:


234

Si utilizza la proprietà label collegata al bordo.

digraph G {
 a -> b [ label="a to b" ];
 b -> c [ label="another label"];
}

Quanto sopra genera un grafico simile a questo.

testo alternativo


32
Perché le etichette toccano i bordi? Non dovrebbe esserci un divario?
AndreKR,

11
@AndreKR Una soluzione rapida è semplicemente inserire uno spazio all'inizio dell'etichetta: a -> b [etichetta = "da a a b"];
chembrad

6
Un'altra soluzione è usare rankdir="LR";, che produce un grafico orizzontale con etichette posizionate sopra il bordo senza toccare.
Dave Jarvis,

6
c'è un modo per avere le etichette ruotate verticalmente per andare parallele alla linea?
Justin L.,

5
Per riferimento futuro, la documentazione del linguaggio DOT è qui e la documentazione degli attributi è qui .
Jens,

23

@Andrew Walker ha dato un'ottima risposta!

Vale anche la pena conoscere l' labeltooltip attributo . Ciò consente di collegare una stringa aggiuntiva all'etichetta di un bordo. Questo è più facile per un utente rispetto tooltipall'attributo, poiché può essere complicato passare il mouse direttamente su un bordo. La sintassi è la seguente:

digraph G {
 a -> b [label="  a to b" labeltooltip="this is a tooltip"];
 b -> c [label="  another label" ];
}

Che dà il seguente risultato: esempio di etichetta con tooltip


8

È possibile utilizzare label="\E"genererà ciao etichetta predefinita.

Per esempio:

digraph G {
 a -> b [ label="\E" ];
 b -> c [ label="\E"];
}
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.