将点文件(graphviz)转换为图像时如何设置分辨率?
Posted
技术标签:
【中文标题】将点文件(graphviz)转换为图像时如何设置分辨率?【英文标题】:How do I set the resolution when converting dot files (graphviz) to images? 【发布时间】:2010-11-20 04:25:54 【问题描述】:我试过了
$ dot -Tpng rel_graph.gv > rel_graph.png
但生成的图像质量非常低。
【问题讨论】:
【参考方案1】:dot -Tpng -Gdpi=300 foo.gv > foo110percent.png
使用选项 -Gdpi。
您可以找到更多信息here。
【讨论】:
dot -Tpng -Gdpi=300 foo.gv -o foo110percent.png
注意:您可以通过更改 -o
指定的文件名的扩展名来更改输出格式,请参阅:graphviz.org/doc/info/output.html【参考方案2】:
我发现 GraphViz 绘制的图形不错,但分辨率往往相当低,您可以尝试输出到 SVG,然后使用其他图像包适当缩放图像,然后保存为基于像素的格式,如 PNG。这可能会为您提供更好的分辨率,但我从未亲自尝试过,我倾向于主要只创建 SVG 文件,然后可以使用浏览器查看。
只需将 -T 参数更改为 -Tsvg
dot -Tsvg rel_graph.gv > rel_graph.svg
Dot Guide http://www.graphviz.org/pdf/dotguide.pdf 中有一些关于图形缩放的内容,但不清楚这如何影响分辨率,您也可以尝试这些设置,看看是否可以改善。
【讨论】:
将 SVG 数据保存到*.png
文件对我来说似乎是一个坏的想法……
@MvG Dumb 拼写错误,我想我是从 OP 问题中复制粘贴的,并没有将 png
完整更改为 svg
更改【参考方案3】:
使用 dpi 属性。
例子:
graph G
graph [ dpi = 300 ];
/* The rest of your graph here. */
【讨论】:
这种方法的不利方面是绝对不会产生抗锯齿。使用低分辨率(例如 72 dpi),您的输出图像看起来会很“点” @yegor256 也许随着时间的推移它们发生了变化,我在 72 dpi 和 300 dpi 上都看到了抗锯齿。 @einpoklum 是的 命令行上等价的-Gdpi=300
在某些情况下也很有用。以上是关于将点文件(graphviz)转换为图像时如何设置分辨率?的主要内容,如果未能解决你的问题,请参考以下文章