使用graphviz的`dot`命令生成无边框图像

问题描述 投票:0回答:1

目前,当我使用 graphviz 生成图像时,我会得到一个边框,如果不光栅化 PDF,很难自动删除边框:

echo 'digraph { a -> b }' | dot -Tpdf > output.pdf

生成以下图形,其中我用红色突出显示了边框。 这些区域在原始结果上显示为白色,但不包含任何有意义的信息。

有什么方法可以防止

dot
产生这些边框,而不是依赖额外的软件包来解决下游问题?

crop graphviz dot clip
1个回答
1
投票

marginhttps://graphviz.org/docs/attrs/margin/)似乎是导致问题的原因。对于许多输出格式,默认值较小,对于 pdf,默认值较大。

digraph {
graph [margin=0]
a -> b
}

但是,这也会删除任何子图周围的边框。如果您只想删除外部图形边框,请使用:

digraph {
graph [margin=0]
a -> b
subgraph cluster0 {
   margin = 10;
   b -> c
   }
}

遗憾的是,图形的外边缘周围仍然存在较薄的边框,这不受上面给出的 2 个边距规范中的任何一个控制:

© www.soinside.com 2019 - 2024. All rights reserved.