在matplotlib中,是否有任何(特别是聪明的)方法来保存具有多个扩展名的图形?
用例:我通常希望使用.png进行快速检查,将其上传到网络等。但是对于具有出版质量的数字,我需要.pdf或.eps文件。通常,我都想要3。
这并不难:
for suffix in 'png eps pdf'.split():
pl.savefig(figname+"."+suffix)
但这确实涉及很多重写代码(因为我现在通常到处都只有
savefig(figname+'.png')
),对于方便的包装函数来说,这似乎很简单。 最佳答案
如果你总是这样做
from matplotlib import pyplot as pl
...
pl.savefig
那么您可以想像地在一个地方重新分配
pl.savefig
,它将影响所有地方。from matplotlib import pyplot as pl
def save_figs(fn,types=('.pdf',)):
fig = pl.gcf()
for t in types:
fig.savefig(fn+t)
pl.savefig = save_figs
如果你平时做
fig=pl.figure()
fig.savefig(...)
那么这将需要更多的努力。
关于matplotlib - 保存具有多个扩展名的图形?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17279651/