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?

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


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


8

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

Beispielsweise:

digraph G {
 a -> b [ label="\E" ];
 b -> c [ label="\E"];
}
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.