在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/

10-12 23:10