Python 如何使用matplotlib以600 dpi的压缩率在tiff中保存图形?

Python 如何使用matplotlib以600 dpi的压缩率在tiff中保存图形?,python,matplotlib,Python,Matplotlib,最近,我决定从MATLAB移植到Matplotlib来绘制图形。在MATLAB中,我要做的就是进入文件>导出>渲染,然后选择600 dpi,然后选择应用于图形,然后导出。在Matplotlib中,我使用Matplotlib库中的命令savefig作为 matplotlib.pyplot.savefig(fname, dpi=None, facecolor='w', edgecolor='w', orientation='portrait', papertype=None, format=

最近,我决定从MATLAB移植到Matplotlib来绘制图形。在MATLAB中,我要做的就是进入文件>导出>渲染,然后选择600 dpi,然后选择应用于图形,然后导出。在Matplotlib中,我使用Matplotlib库中的命令savefig作为

matplotlib.pyplot.savefig(fname, dpi=None, facecolor='w', edgecolor='w',
    orientation='portrait', papertype=None, format=None,
    transparent=False, bbox_inches=None, pad_inches=0.1,
    frameon=None).

然后我将dpi设置为600,并将.tiff设置为输出格式。除了文件非常大~32 mb之外,这一切都很正常。很明显,我不能在期刊手稿中使用这么大的文件。我想知道是否有一种方法可以将压缩合并到文件中,以便可以以较小的尺寸获得图像文件,而不会降低分辨率。

截至目前,无法为
tiff
格式添加压缩。自去年5月左右以来,这是一个开放和成功的项目,但尚未取得进展

在工作解决方案中,有一个建议的工作流程和报价

。。。使用MPL生成巨大的TIFF图像文件,然后将其导入PIL,保存 在PIL中使用TIFF压缩,然后丢弃 未压缩的TIFF文件

该项目有一些
tiff
图像压缩保存功能,根据您的使用情况,它可能会对您有所帮助


除了
tiff
,该杂志最有可能接受其他格式。然后,您可以选择png或jpeg,其DPI为600,基本上适用于日记的所有用途。

由于
matplotlib
版本3.1.0,现在可以:

导入matplotlib.pyplot作为plt
图,ax=plt.子批次()
fig.savefig('/tmp/foo.tiff',dpi=600,format=“tiff”,pil_-kwargs={“compression”:“tiff_-lzw”})
但是要注意打字错误,因为
savefig
似乎会默默地吞下不受支持的kwargs,例如
pil_Kwargsss


该功能的引入取代了。

是《华尔街日报》所要求的。*.tiff?也许你可以把它另存为矢量图形。根据绘图的不同,文件大小可能会急剧减小。为什么要使用与默认值相同的参数调用
savefig
?我可以看出您刚才复制了docstring,只是它没有任何意义。@IgnacioVergaraKausel正如我所说,我刚刚开始使用Matplotlib。我更改了格式,格式为“tiff”,dpi为600。@美国机械工程师学会(ASME)出版的Nohs期刊要求提供.tiff。那么我将使用eps格式,并从Scribus或其他东西将其导入tiff。谢谢。听起来好像工作量很大。我将坚持矢量图形的时间。希望这一问题在不久的将来得到解决。谢谢。没那么多工作,只是有点烦人。它可以是整个图形处理序列的一部分。