Graphviz:除标签外还在节点上添加标题

A. *_*uff 42 dot graphviz

在我的Graphviz图形(用DOT编写)中,我希望每个节点都有一个标签,但除此之外,我希望一些节点有一个小标题,表示该节点的一些其他唯一值.例如,如果这是历史图表,节点的标签可能类似于"乔治华盛顿的诞生",标题可能是"参见:美国革命".

这是相当灵活的,因此标题不一定需要在节点内部,但我确实需要一些其他方式来放置明显不属于标签的文本(例如,是不同的大小,可能是不同的颜色)并且位于不同的位置,但仍然显然是节点的一部分.

有没有办法做到这一点?

mar*_*pet 65

要在节点外放置标题,您可以使用xlabel:

digraph g {
    forcelabels=true;
    a [label="Birth of George Washington", xlabel="See also: American Revolution"];
    b [label="Main label", xlabel="Additional caption"];
    a-> b;
}
Run Code Online (Sandbox Code Playgroud)

forcelabels=true 确保没有省略xlabel.

节点示例的xlabel


第二种选择是使用类似HTML的标签:

digraph g {
    a[label=<Birth of George Washington<BR />
        <FONT POINT-SIZE="10">See also: American Revolution</FONT>>];
}
Run Code Online (Sandbox Code Playgroud)

html像标签示例

  • xvels是在graphviz 2.28之后实现的,它仍然安装在较旧的linux机器上.所以如果你有一些问题,这是首先要检查的事情之一. (2认同)