我使用matplotlib生成一个绘图,然后使用matplotlib.pyplot.savefig保存到PNG文件.
一切正常,但文件大小非常大(约120Kb).
之后我可以使用ImageMagik(通过shell)通过减少颜色数量和关闭抖动来将文件大小减少到38Kb而不会降低质量:
convert +dither -colors 256 orig.png new.png
Run Code Online (Sandbox Code Playgroud)
我的问题是:我可以在matplotlib中这样做吗?我搜索了文档,找不到任何与设置保存时使用的颜色数等有关的事情....
谢谢!
这就是我通过PIL(现在Pillow)运行matplotlib图像的方法
import cStringIO
import matplotlib.pyplot as plt
from PIL import Image
Run Code Online (Sandbox Code Playgroud)
...
ram = cStringIO.StringIO()
plt.savefig(ram, format='png')
ram.seek(0)
im = Image.open(ram)
im2 = im.convert('RGB').convert('P', palette=Image.ADAPTIVE)
im2.save( filename , format='PNG')
Run Code Online (Sandbox Code Playgroud)
您可以将dpi=kwarg 传递给 savefig() ,这可能会帮助您减少文件大小(取决于您之后想要对图表执行的操作)。如果做不到这一点,我认为 Python 成像库 ( http://www.pythonware.com/products/pil/ ) 几乎肯定能满足您的要求。
| 归档时间: |
|
| 查看次数: |
2267 次 |
| 最近记录: |