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

如何使用 python pillow 在不创建中间文件的情况下显示 matplotlib 图片?

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

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

问题:

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

答案:

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

代码示例:

import matplotlib.pyplot as plt
from io import BytesIO
from PIL import Image

# 生成 Matplotlib 图片
plt.plot([1, 2, 3], [4, 5, 6])

# 使用 ByteIO 模拟文件对象
output = BytesIO()

# 将 Matplotlib 图片保存到 ByteIO 对象
plt.savefig(output, format='png')

# 将 ByteIO 对象作为文件对象传给 Pillow
image = Image.open(output)

# 显示图片
image.show()

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

以上就是如何使用 Python Pillow 在不创建中间文件的情况下显示 Matplotlib 图片?的详细内容,更多请关注其它相关文章!