我对 Dot 非常陌生,并试图在 Eclipse 中使用 Dot 和 Zest 可视化一个调用图。而且我想用某种注释来注释节点(图片上的OK和Failed。)。
Dot 或 Zest 有什么常用的方法吗?
xlabel
看看xlabel
(外部标签)。
主点
graph {
node [shape=square];
1 [xlabel="a"]
2 [xlabel="b"]
1 -- 2;
}
转变:
dot -Tpng main.dot > main.png
输出:
但是不确定使用此方法控制精确标签放置的难易程度:即使默认情况下也会发生重叠。看:
shape=record
我只是倾向于更喜欢https://stackoverflow.com/a/23031506/895245shape=record
或它们的泛化、类似 HTML 的标签提到的方法,因为它可以更清楚地说明每个节点属于什么标签:
graph {
rankdir=LR
node [shape=record];
1 [label="1|a"]
2 [label="2|b"]
1 -- 2;
}
输出:
TODO 你能避免打字1
和2
两次吗?
在 Ubuntu 16.10、graphviz 2.38 上测试。
Zest 渲染不支持它,但在 DOT 级别上,您可以使用基于记录的节点:
rankdir=LR;
node [shape=record];
m1[label="void m1()|OK"];
m1[label="void m2()|Failed"];
有关详细信息,请参阅http://www.graphviz.org/doc/info/shapes.html#record