可以使用dot自动调整Graphviz节点的宽度吗?

4

请问是否有办法让Graphviz的dot程序(注意:不是neato,虽然我也对这个问题有些兴趣)自动调整节点宽度以适应我指定的标签?目前我有以下内容:

digraph
{
    node [shape=record];
    n [label="This is a very long caption"];
}

但是节点最终变得太小,无法容纳标题: Bad Graphviz output 我发现了一个名为fixedsize的选项,理论上我应该能够将其设置为false以使节点扩展以适合它们的标签: http://www.graphviz.org/doc/info/attrs.html#d:fixedsize 不幸的是,这不起作用,因为这给我带来了相同的结果:
digraph
{
    node [shape=record, fixedsize=false];
    n [label="This is a very long caption"];
}

请问有什么想法吗?
1个回答

2
您的示例中节点标签宽度在使用dot时实际上会自适应大小。默认情况下fixedsize=false,并且对于width的任何给定值,如果输出格式为dot,则应该产生给定的宽度值:

请注意,如果输出格式为dot,则给定的宽度值将是最终值。

您的Graphviz版本可能存在问题 - 您是否尝试使用较新的版本?

我实际上在文档中看到了那个评论,尽管我必须说当我尝试使用neato时得到了完全相同的行为。我认为你是对的,我应该再次确认我的Graphviz版本是否是最新的 - 我会尝试并回报的。 - Stuart Golodetz
我认为文档是指点输出格式,而不是创建输出的布局引擎。我不确定这是否意味着当将标签输出到具有给定宽度和fixedsize=false的png时,标签宽度仍将被调整。 - marapet
1
非常好的调用,它是布局引擎 - 在-Tpdf下运行良好。如果你问我,这很奇怪! - Stuart Golodetz
更具体地说,似乎-Tpng:gdiplus遭受了所示问题的困扰,而-Tpng:cairo:gd-Tpng:cairo:gdiplus则没有。 - Stuart Golodetz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接