如何在Pygraphviz中设置输出图像的宽度和高度
我正在创建一个这样的 .png 文件:
import pygraphviz as pgv
G = pgv.AGraph()
G.add_nodes("a")
G.add_edge("b", "c")
G.layout()
G.draw("output.png")
我该如何设置输出图像的大小呢?
3 个回答
0
除了设置大小,你可能还想要保持一个特定的宽高比。
如果你想设置一个1:1.4的比例(宽度=1,高度=1.4,也就是大约A4纸的比例),你可以这样做(最大尺寸为10英寸):
G.draw('output.png', args='-Gsize=10 -Gratio=1.4', prog='dot')
这里的格式是:
图形参数:-G<arg>
;节点参数:-N<arg>
;边参数:-E<arg>
。
这里有一份参数列表:
https://manpages.debian.org/stretch/graphviz/dot.1.en.html希望这对你有帮助。
1
你可以很简单地设置分辨率,方法是:
G.draw("file.png", args='-Gdpi=200', prog="dot")
或者因为这是一个图形属性:
G.graph_attr['dpi'] = '200'
如果你想避免分辨率方面的问题,另一个选择是将文件导出为矢量格式,比如 .svg
。
7
你可以通过设置size来限制输出图像的最大大小,这个size是图形对象的一个属性。例如:
digraph "my_graph" {
graph[ fontname = "Helvetica-Oblique",
fontsize = 12,
label = "some label",
size = "7.75,10.25" ];
node [ shape = polygon,
sides = 4 ];
}
在这个例子中,我把图形的大小设置为7.75 x 10.25,这个尺寸是为了确保你的图形能放在8.5 x 11英寸的纸上,并且能够充分利用这张纸的空间。