202 votes

Comment ajouter des étiquettes d'arêtes dans Graphviz ?

J'essaie de dessiner un graphique à l'aide de Graphviz, mais j'ai besoin d'ajouter des étiquettes sur les bords. Il ne semble pas y avoir de moyen de le faire dans Graphviz. Existe-t-il une solution ?

278voto

Andrew Walker Points 9038

Vous utilisez le propriété de l'étiquette attachée au bord.

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

La procédure ci-dessus génère un graphique qui ressemble à celui-ci.

alt text

44 votes

Pourquoi les étiquettes touchent-elles les bords ? Ne devrait-il pas y avoir un espace ?

12 votes

@AndreKR Une solution rapide consiste à mettre un espace au début de l'étiquette : a -> b [ label=" a to b " ] ;

2 votes

Il y a donc beaucoup de doublons dans les définitions. Existe-t-il un moyen de faire quelque chose de ce genre ? a - "a to b" > b - "b to c" > c ?

36voto

RawFocus Points 2761

@Andrew Walker a donné une excellente réponse !

Il convient également d'être attentif aux labeltooltip attribut . Cela permet d'attacher une ficelle supplémentaire à l'étiquette d'un bord. C'est plus facile pour l'utilisateur que l'option tooltip car il peut être difficile de passer directement sur un bord. La syntaxe est la suivante :

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

Ce qui donne le résultat suivant : example of a label with tooltip

19voto

Fabricio PH Points 675

J'ai atterri ici en cherchant à savoir si des étiquettes pouvaient être placées à l'extrémité des flèches, pour la composition/agrégation d'UML. La réponse est oui :

"Person" -> "Hand" [headlabel="*", taillabel="1"]

enter image description here

10voto

Nirav Patel Points 317

Vous pouvez utiliser label="\E" Il générera une étiquette par défaut.

Par exemple :

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

4voto

Clearer Points 369
digraph g {
    a -> b [label = " a to b" ]
    b -> c [label = " b to c" ]
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X