PHP前端开发

如何使用 Python Pillow 在不创建中间文件的情况下显示 Matplotlib 图片?

百变鹏仔 5天前 #Python
文章标签 如何使用

python pillow:不保存中间文件就显示 matplotlib 图片

在生成 matplotlib 图片时,通常需要先将其保存到中间文件中,然后再使用 pillow 显示。然而,有时我们希望避免创建不必要的中间文件。

问题:

如何使用 python pillow 显示 matplotlib 生成的图片,而不生成中间文件?

立即学习“Python免费学习笔记(深入)”;

答案:

可以使用 byteio 模拟文件对象,来替代中间文件。byteio 在内存中创建一个可读写的字节缓冲区,这可以作为文件对象使用。

代码示例:

import matplotlib.pyplot as pltfrom io import BytesIOfrom PIL import Image# 生成 Matplotlib 图片plt.plot([1, 2, 3], [4, 5, 6])# 使用 ByteIO 模拟文件对象output = BytesIO()# 将 Matplotlib 图片保存到 ByteIO 对象plt.savefig(output, format='png')# 将 ByteIO 对象作为文件对象传给 Pillowimage = Image.open(output)# 显示图片image.show()

通过这种方法,可以避免创建中间文件,直接在内存中创建、展示图片。