Python保存图片的3种情况代码实例

 更新时间:2023年10月14日 16:14:33   作者:蜡笔大新home  
这篇文章主要给大家介绍了关于Python保存图片的3种情况,在Python中我们可以使用多种方法来保存图片,包括使用Python内置的库和第三方库,需要的朋友可以参考下

1、保存单张图片

#基本存储
import matplotlib.pyplot as plt
x=[0,1,2,3,4,5]
y=[0,2,4,6,8,10]
plt.plot(x,y)#绘制图片
plt.savefig( './result/exam_01.png')  #将图片存储在result文件夹下并命名为exam_01.png  ,注意该行代码要放在plt.show()前
plt.show()

2、创建文件夹并保存单张图片

#存储图片同一个文件夹中
import matplotlib.pyplot as plt
import os#导入OS模块,用于创建文件夹
x=[0,1,2,3,4,5]
y=[0,2,4,6,8,10]
plt.plot(x,y)
# 指定图片保存路径
figure_save_path = "picture_folder"

if not os.path.exists(figure_save_path):
    os.makedirs(figure_save_path) # 如果不存在目录figure_save_path,则创建
    
plt.savefig(os.path.join(figure_save_path , 'exam_02.png'))#第一个是指存储路径,第二个是图片名字
plt.show()

3、创建文件夹并保存多张图片

#批量绘制图片+批量存储
import matplotlib.pyplot as plt
import os
for i in range(0,3,1):
    x=[i,1,2,3,4,5]
    y=[0,2,4,6,8,10]
    name_list=["one","two","three"]#先创建名字列表,可以是用在图片命名,也可以用在文件夹命名
    plt.plot(x,y)
    # 指定图片保存路径
    figure_save_path = "picture_folder_many"#这里创建了一个文件夹,如果依次创建不同文件夹,可以用name_list[i]
    if not os.path.exists(figure_save_path):
        os.makedirs(figure_save_path) # 如果不存在目录figure_save_path,则创建
    plt.savefig(os.path.join(figure_save_path , name_list[i]))#分别命名图片
    plt.show()

附:Python解决使用 plt.savefig 保存图片时一片空白

问题

当使用如下代码保存使用 plt.savefig 保存生成的图片时,结果打开生成的图片却是一片空白。

import matplotlib.pyplot as plt
""" 一些画图代码 """
plt.show()
plt.savefig("filename.png")

原因

其实产生这个现象的原因很简单:在 plt.show() 后调用了 plt.savefig() ,在 plt.show() 后实际上已经创建了一个新的空白的图片(坐标轴),这时候你再 plt.savefig() 就会保存这个新生成的空白图片。

解决

知道了原因,就不难知道解决办法了,解决办法有两种:

  • 在 plt.show() 之前调用 plt.savefig()

    import matplotlib.pyplot as plt
    """ 一些画图代码 """
    plt.savefig("filename.png")
    plt.show()
  • 画图的时候获取当前图像(这一点非常类似于 Matlab 的句柄的概念):

    # gcf: Get Current Figure
    fig = plt.gcf()
    plt.show()
    fig1.savefig('tessstttyyy.png', dpi=100)

总结 

到此这篇关于Python保存图片的3种情况的文章就介绍到这了,更多相关Python保存图片内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 如何基于pandas读取csv后合并两个股票

    如何基于pandas读取csv后合并两个股票

    这篇文章主要介绍了如何基于pandas读取csv后合并两个股票,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • python selenium反检测问题

    python selenium反检测问题

    这篇文章主要介绍了python selenium反检测问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • Python提取PDF表格数据并导出为TXT、Excel 格式

    Python提取PDF表格数据并导出为TXT、Excel 格式

    本文将分享一种高效的解决方案—基于Python结合Spire系列库,实现 PDF 表格数据的精准提取,并分别导出为 TXT 文本和 Excel 表格格,感兴趣的小伙伴可以了解下
    2025-12-12
  • Python使用剪切板的方法

    Python使用剪切板的方法

    这篇文章主要为大家详细介绍了Python使用剪切板的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • Python模拟简单电梯调度算法示例

    Python模拟简单电梯调度算法示例

    这篇文章主要介绍了Python模拟简单电梯调度算法,涉及Python线程、队列、时间延迟等相关操作技巧,需要的朋友可以参考下
    2018-08-08
  • Python图像处理库PIL详细使用说明

    Python图像处理库PIL详细使用说明

    Pillow是Python中较为基础的图像处理库,主要用于图像的基本处理,比如裁剪图像、调整图像大小和图像颜色处理等,需要的朋友可以参考下
    2022-04-04
  • Python常用模块之threading和Thread模块及线程通信

    Python常用模块之threading和Thread模块及线程通信

    这篇文章主要介绍了Python常用模块之threading和Thread模块及线程通信,文章为围绕主题的相关内容展开详细的内容介绍,具有一定的参考价值,需要的朋友看可以参考一下方法
    2022-06-06
  • 在Django admin中编辑ManyToManyField的实现方法

    在Django admin中编辑ManyToManyField的实现方法

    今天小编就为大家分享一篇在Django admin中编辑ManyToManyField的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python竟能画这么漂亮的花,帅呆了(代码分享)

    Python竟能画这么漂亮的花,帅呆了(代码分享)

    这篇文章主要介绍了用Python作图的一个简单实例,通过turtle模块实现作图,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • python 实现IP子网计算

    python 实现IP子网计算

    这篇文章主要介绍了python 实现IP子网计算的方法,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2021-02-02

最新评论