def export_image(filename, format, figure): oldSize = figure.get_size_inches() oldDpi = figure.get_dpi() figure.set_size_inches((8, 4.5)) figure.set_dpi(600) canvas = FigureCanvasAgg(figure) canvas.draw() renderer = canvas.get_renderer() if matplotlib.__version__ >= '1.2': buf = renderer.buffer_rgba() else: buf = renderer.buffer_rgba(0, 0) size = canvas.get_width_height() image = Image.frombuffer('RGBA', size, buf, 'raw', 'RGBA', 0, 1) image = image.convert('RGB') ext = File.get_export_ext(format, File.Exports.IMAGE) image.save(filename, format=ext[1::]) figure.set_size_inches(oldSize) figure.set_dpi(oldDpi)