matplotlib以jpeg格式保存

ced*_*m34 32 jpeg matplotlib figure

我正在使用matplotlib(在pylab中)来显示数字.我想以.jpg格式保存它们.当我只使用带有jpg扩展名的savefig命令时,返回:

ValueError: Format "jpg" is not supported.
Run Code Online (Sandbox Code Playgroud)

Supported formats: emf, eps, pdf, png, ps, raw, rgba, svg, svgz.

有办法执行此操作吗?

Yan*_*ann 40

您可以将图像保存为"png"并使用python图像库(PIL)将此文件转换为"jpg":

import Image
import matplotlib.pyplot as plt

plt.plot(range(10))
plt.savefig('testplot.png')
Image.open('testplot.png').save('testplot.jpg','JPEG')
Run Code Online (Sandbox Code Playgroud)

原本的:

在此输入图像描述

JPEG图像:

在此输入图像描述


div*_*nex 27

澄清和更新@neo有用的答案和原始问题.一个干净的解决方案包括安装Pillow,它是Python Imaging Library(PIL)的更新版本.这是使用完成的

pip install pillow
Run Code Online (Sandbox Code Playgroud)

安装Pillow后,标准的Matplotlib命令

import matplotlib.pyplot as plt

plt.plot([1, 2])
plt.savefig('image.jpg')
Run Code Online (Sandbox Code Playgroud)

将图形保存为JPEG文件,不再生成ValueError.

与@amillerrhodes的答案相反,从Matplotlib 2.0开始,似乎不支持JPEG文件.如果我删除Pillow包,我仍然会收到有关不支持的文件类型的ValueError.


let*_*aik 8

只需安装枕头即可使用pip install pillow.