目前,当我使用 graphviz 生成图像时,我会得到一个边框,如果不光栅化 PDF,很难自动删除边框:
echo 'digraph { a -> b }' | dot -Tpdf > output.pdf
生成以下图形,其中我用红色突出显示了边框。 这些区域在原始结果上显示为白色,但不包含任何有意义的信息。
有什么方法可以防止
dot
产生这些边框,而不是依赖额外的软件包来解决下游问题?
margin(https://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 个边距规范中的任何一个控制: