如何使用 Python Pillow 在不保存中间文件的情况下显示 Matplotlib 生成的图片?
如何在 python pillow 中显示 matplotlib 生成的图片,而无需生成中间文件
在 python 中,通常通过存储中间图片文件来保存 matplotlib 生成的图片。然而,有时我们可能希望直接在应用程序中显示图片,而不需要保存中间文件。
问题:
在下图中,我们使用 matplotlib 生成了中间文件 test12.png。如何避免生成中间文件并直接在 python 应用程序中显示图片?
回答:
python 中的文件类型具有“鸭子类型”特性,这意味着它们以其属性而不是其类来定义。我们可以利用这一点来模拟一个文件对象,并直接将其传递给 pillow 的图像显示函数。以下代码展示了如何实现此操作:
import matplotlib.pyplot as plt from io import BytesIO # 生成 Matplotlib 图像 fig, ax = plt.subplots() ax.plot([1, 2, 3], [4, 5, 6]) # 将图像保存到内存中 buf = BytesIO() fig.savefig(buf, format="png") buf.seek(0) # 使用 Pillow 显示图像 from PIL import Image Image.open(buf).show()
使用此代码,我们可以直接在应用程序中显示 matplotlib 生成的图片,而无需创建或保存中间文件。
以上就是如何使用 Python Pillow 在不保存中间文件的情况下显示 Matplotlib 生成的图片?的详细内容,更多请关注其它相关文章!