Jak dodać etykiety krawędzi w Graphviz?


169

Próbuję narysować wykres za pomocą Graphviz, ale muszę dodać etykiety na krawędziach. Wydaje się, że w Graphviz nie ma na to żadnego sposobu. Czy jest wyjście?

Odpowiedzi:


234

Używasz właściwości etykiety dołączonej do krawędzi.

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

Powyższe generuje wykres, który wygląda mniej więcej tak.

tekst alternatywny


32
Dlaczego etykiety dotykają krawędzi? Czy nie powinno być luki?
AndreKR

11
@AndreKR Szybkim rozwiązaniem jest wstawienie spacji na początku etykiety: a -> b [etykieta = "a do b"];
chembrad

6
Inną poprawką jest użycie rankdir="LR";, które tworzy poziomy wykres z etykietami umieszczonymi nad krawędzią bez dotykania.
Dave Jarvis

6
czy istnieje sposób na obrócenie etykiet w pionie, aby były równoległe do linii?
Justin L.

5
W przyszłości dokumentacja języka DOT jest tutaj, a dokumentacja atrybutów jest tutaj .
Jens

22

@Andrew Walker dał świetną odpowiedź!

Warto też mieć świadomość tego labeltooltip atrybutu . Pozwala to na przymocowanie dodatkowego sznurka do etykiety krawędzi. Jest to łatwiejsze dla użytkownika niż tooltipatrybut, ponieważ umieszczenie wskaźnika myszy bezpośrednio na krawędzi może być niewygodne. Składnia jest następująca:

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

Co daje następujący wynik: przykład etykiety z podpowiedzią


8

Możesz użyć label="\E"To wygeneruje domyślną etykietę.

Na przykład:

digraph G {
 a -> b [ label="\E" ];
 b -> c [ label="\E"];
}
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.