J’aimerais inclure une légende ou une clé dans mon diagramme GraphViz. J’ai du mal à comprendre quel code utiliser, cependant. Je veux aussi le mettre dans un coin, mais la seule coordonnée que je connaisse est le bas à gauche: pos="10,10!"
.
Est-ce que quelqu’un sait comment je peux faire fonctionner cela?
digraph { rankdir=LR node [shape=plaintext] subgraph cluster_01 { label = "Legend"; key [label=< item 1 item 2 item 3 item 4
>] key2 [label=<
>] key:i1:e -> key2:i1:w [style=dashed] key:i2:e -> key2:i2:w [color=gray] key:i3:e -> key2:i3:w [color=peachpuff3] key:i4:e -> key2:i4:w [color=turquoise4, style=dotted] } ...
J’ai utilisé le dot
.
Je suis profondément convaincu que graphviz ne doit pas être utilisé de cette façon, mais vous pouvez utiliser des étiquettes HTML pour obtenir ce que vous voulez:
digraph { Foo -> Bar -> Test; Foo -> Baz -> Test; { rank = sink; Legend [shape=none, margin=0, label=< Legend Foo Foo Bar Baz Test Test
>]; } }
Voilà à quoi cela ressemble:
Le positionnement de la légende doit être fait comme n’importe quel autre nœud (j’ai utilisé rank = puits pour le faire descendre) – vous pouvez jouer avec son atsortingbut de margin
pour affiner la position.
Modifier :
Sans utiliser d’étiquettes, c’est peut-être la voie à suivre – je ne suis pas sûr que ce soit pour éliminer complètement ranksep
.
digraph { mindist=0; ranksep=0; nodesep=0; node[shape=box,margin="0,0",width=1, height=0.5]; edge [style=invis]; Legend[width=2]; Legend -> Foo; Legend -> FooValue; Foo -> Bar; FooValue -> BarValue Bar -> Baz; BarValue -> BazValue; edge [constraint=false]; Foo -> FooValue; Bar -> BarValue Baz -> BazValue; }
Résultant en:
Il y a quelques problèmes si vous utilisez graph [splines=ortho]
: les lignes sont dans l’ordre inverse.
Source de points:
digraph { rankdir=LR node [shape=plaintext] graph [splines=ortho] subgraph cluster_01 { label = "Legend"; key [label=< item 1 item 2 item 3 item 4 item 5
>] key2 [label=<
>] key:i1:e -> key2:i1:w [color=red] key:i2:e -> key2:i2:w [color=gray] key:i3:e -> key2:i3:w [color=peachpuff3] key:i4:e -> key2:i4:w [color=turquoise4, style=dotted] key:i5:e -> key2:i5:w [color=red, style=dotted] } }