14

我对 Dot 非常陌生,并试图在 Eclipse 中使用 Dot 和 Zest 可视化一个调用图。而且我想用某种注释来注释节点(图片上的OK和Failed。)。

我想得到的带注释的图

Dot 或 Zest 有什么常用的方法吗?

4

2 回答 2

14

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 你能避免打字12两次吗?

在 Ubuntu 16.10、graphviz 2.38 上测试。

于 2016-12-26T19:52:05.700 回答
1

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

于 2014-04-12T14:14:34.713 回答