我正在尝试向带有点的图形添加两个标签,一个在图形的顶部,一个在图形的底部。确实,我正在尝试修改Doxygen生成的点文件以包含这些标签。我以为这是一件容易的事,但它比我原本想的要痛苦得多。我尝试了以下方法:
1)在有向图中有两个标签,但只有最后一个显示
2)垂直堆叠子图并尝试适当放置节点,但这看起来很糟糕,令人头疼(如下所示)
digraph D {
subgraph cluster_p {
label = "Top Label";
fontname=calibri;
fontsize=9;
rankdir=TB
subgraph test {
pencolor=black
e
}
subgraph cluster_c3 {
label = "Bottom Label";
labelloc=b;
fontname=calibri;
fontsize=9;
pencolor=white
f;
}
e->f;
}
}
更新:发布此消息大约两个小时后,我终于找到了满足我需求的东西。
digraph G {
subgraph cluster_0 {
label="Top";
subgraph cluster_1 {
label="Bottom";
labelloc=b;
pencolor=white;
// diagram to enclose
e->f;
}
}
}
这很简单,可以使用python脚本自动插入每个点文件中,并满足我的特殊需求。谢谢。
答案 0 :(得分:1)
您可以在顶部保留一个标签,并通过在具有rank = sink
属性的子图中的末尾添加一个节点来模拟另一个标签。此属性强制在其中定义的节点不仅出现在最低级别,而且出现在之后的级别。这样可以确保它们位于您所需的最底层:
digraph D {
pencolor=black
labelloc=t
fontname=calibri
fontsize=9
label = "Top Label"
e
e->f;
{
rank=sink
bottomlabel [
shape=plain
label = "Bottom Label"
fontname=calibri
fontsize=9
]
}
}