I am using matplotlib to produce a plot which I then save to a PNG file using matplotlib.pyplot.savefig.
It all works fine, but the filesize is quite large (about 120Kb).
I can use ImageMagik afterwards (via the shell) to reduce the filesize to 38Kb without any loss of quality by reducing the number of colors and turning off dither:
convert +dither -colors 256 orig.png new.png
My question is: can I do this within matplotlib? I have searched the documentation and can’t find any thing pertaining to setting the number of colors used when saving, etc….
You can pass a
dpi= kwarg to savefig() which might help you reduce the filesize (depending on what you want to do with your graphs afterwards). Failing that, I think that the Python Imaging Library ( http://www.pythonware.com/products/pil/ ) will almost certainly do what you want.