如何在Graphviz'dot中的节点外添加注释?

时间:2014-04-11 17:11:57

标签: eclipse graphviz dot zest

我是Dot的新手,并试图在Eclipse中使用Dot和Zest可视化调用图。我想用一种注释注释节点(图片上的确定和失败)。

Annotated graph I want to get

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

2 个答案:

答案 0 :(得分:7)

<强> xlabel

查看xlabel(外部标签)。

main.dot

graph {
    node [shape=square];
    1 [xlabel="a"]
    2 [xlabel="b"]
    1 -- 2;
}

转换:

dot -Tpng main.dot > main.png

输出:

enter image description here

不确定使用此方法控制精确标签放置的难易程度:默认情况下甚至会发生重叠。参见:

最后,我只是更喜欢https://stackoverflow.com/a/23031506/895245所提到的shape=record或他们的概括,类似HTML的标签:它清楚地表明了每个节点内部的内容,并且更加健全。

main.dot

graph {
    rankdir=LR
    node [shape=record];
    1 [label="1|a"]
    2 [label="2|b"]
    1 -- 2;
}

输出:

enter image description here

TODO可以避免两次输入12吗?

在Ubuntu 16.10上测试过,graphviz 2.38。

答案 1 :(得分: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