Wie füge ich Kantenbeschriftungen in Graphviz hinzu?

169

Ich versuche, mit Graphviz ein Diagramm zu zeichnen, muss jedoch Beschriftungen an den Kanten hinzufügen. In Graphviz scheint es keinen Weg dazu zu geben. Gibt es einen Ausweg?

user855
quelle

Antworten:

234

Sie verwenden die an die Kante angehängte Label-Eigenschaft .

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

Das obige erzeugt ein Diagramm, das ungefähr so ​​aussieht.

Alt-Text

Andrew Walker
quelle
32
Warum berühren die Etiketten die Kanten? Sollte es keine Lücke geben?
AndreKR
11
@AndreKR Eine schnelle Lösung besteht darin, am Anfang des Etiketts ein Leerzeichen zu setzen: a -> b [label = "a to b"];
Chembrad
6
Ein weiterer Fix ist die Verwendung rankdir="LR";, bei der ein horizontales Diagramm mit Beschriftungen über der Kante erstellt wird, ohne sie zu berühren.
Dave Jarvis
6
Gibt es eine Möglichkeit, die Beschriftungen vertikal zu drehen, um parallel zur Linie zu verlaufen?
Justin L.
5
Für die Zukunft, ist die DOT Sprache Dokumentation hier und die Attribute Dokumentation ist hier .
Jens
22

@ Andrew Walker hat eine tolle Antwort gegeben!

Es lohnt sich auch, sich des labeltooltip Attributs bewusst zu sein . Dadurch kann eine zusätzliche Zeichenfolge an die Beschriftung einer Kante angehängt werden. Dies ist für einen Benutzer einfacher als das tooltipAttribut, da es schwierig sein kann, direkt an einer Kante zu schweben. Die Syntax lautet wie folgt:

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

Welches ergibt das folgende Ergebnis: Beispiel eines Etiketts mit Tooltip

Allan Bowe
quelle
8

Sie können verwenden. label="\E"Es wird eine Standardbezeichnung generiert.

Beispielsweise:

digraph G {
 a -> b [ label="\E" ];
 b -> c [ label="\E"];
}
Nirav Patel
quelle