以非常高的质量在Python中保存图像
我怎样才能保存非常高质量的python剧情?
也就是说,当我不断放大保存在PDF文件中的对象,没有模糊?
另外,什么是最好的方式来保存它?
png
, eps
? 还是其他的? 我不能做pdf
因为有一个隐藏的数字,发生与Latexmk
编译混乱。
如果你正在使用matplotlib
并试图在乳胶文件中获得好的数字,请保存为eps。 具体来说,在运行命令来绘制图像之后,请尝试如下所示:
plt.savefig('destination_path.eps', format='eps', dpi=1000)
我发现eps文件效果最好, dpi
参数是真正使它们在文档中看起来不错的原因。
更新:
要在保存之前指定graphics的方向,只需在plt.savefig
调用之前调用以下内容,但是在创buildgraphics之后(假设已经使用名称为ax
的轴进行绘图):
ax.view_init(elev=elevation_angle, azim=azimuthal_angle)
其中elevation_angle
是指定极angular(从垂直z轴向下)的数字(以度为单位), azimuthal_angle
指定方位angular(绕z轴)。
我发现通过首先绘制图像然后旋转它并且观察angular度的当前值出现在实际绘图下方的窗口底部来确定这些值是最容易的。 请记住,默认情况下,x,y,z的位置出现,但当您开始点击+拖动+旋转图像时,会被两个angular度replace。
只是添加我的结果,也使用matplotlib。
.eps使我的所有文本都变为粗体,并删除了透明度 .svg给了我实际上看起来像我的graphics的高分辨率图片。
import matplotlib.pyplot as plt fig, ax = plt.subplots() # Do the plot code fig.savefig('myimage.svg', format='svg', dpi=1200)
我使用了1200dpi,因为很多科学期刊需要1200/600 / 300dpi的图像,具体取决于图像的types。 在GiMP或Inkscape中转换为所需的dpi和格式。
编辑:显然,dpi并不重要,因为.svg是vectorgraphics,并有“无限的分辨率”。
好的,我发现spencerlyon2的答案有效,但是如果有人发现自己不知道该怎么做,我必须这样做:
beingsaved = plt.figure() # some scatters plt.scatter(X_1_x, X_1_y) plt.scatter(X_2_x, X_2_y) beingsaved.savefig('destination_path.eps', format='eps', dpi=1000)