How to add an annotation outside of a node in Graphviz' dot?
xlabel
Have a look at xlabel
(external label).
main.dot
graph {
node [shape=square];
1 [xlabel="a"]
2 [xlabel="b"]
1 -- 2;
}
Convert:
dot -Tpng main.dot > main.png
Output:
Not sure however how easily you can control exact label placement with this method: even overlaps can happen by default. See:
- Graphviz graph positioning xlabels
- xlabels for nodes overlap with edges in dot
shape=record
I just tend to prefer the shape=record
approach mentioned by https://stackoverflow.com/a/23031506/895245 or their generalization, HTML-like labels, as it makes it clearer what label belongs to each node:
graph {
rankdir=LR
node [shape=record];
1 [label="1|a"]
2 [label="2|b"]
1 -- 2;
}
Output:
TODO can you avoid typing 1
and 2
twice?
Tested on Ubuntu 16.10, graphviz 2.38.
It's not supported by the Zest rendering, but on the DOT level you could use record-based nodes:
rankdir=LR;
node [shape=record];
m1[label="void m1()|OK"];
m1[label="void m2()|Failed"];
For details see http://www.graphviz.org/doc/info/shapes.html#record