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保存图片内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python直接赋值及深浅拷贝原理详解

    Python直接赋值及深浅拷贝原理详解

    这篇文章主要介绍了Python直接赋值及深浅拷贝原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • 在python中实现强制关闭线程的示例

    在python中实现强制关闭线程的示例

    今天小编就为大家分享一篇在python中实现强制关闭线程的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python爬虫文件下载图文教程

    Python爬虫文件下载图文教程

    在本篇内容里小编给大家分享的是关于Python爬虫文件下载的相关知识点内容,有需要的朋友们学习下。
    2018-12-12
  • Python实现数字图像处理染色体计数示例

    Python实现数字图像处理染色体计数示例

    这篇文章主要为大家介绍了Python实现数字图像处理染色体计数示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • NumPy实现ndarray多维数组操作

    NumPy实现ndarray多维数组操作

    NumPy一个非常重要的作用就是可以进行多维数组的操作,这篇文章主要介绍了NumPy实现ndarray多维数组操作,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • Python文件的压缩与解压

    Python文件的压缩与解压

    这篇文章主要介绍了Python文件的压缩与解压,Python进行文件、文件夹压缩与解压,用到的是zipfile的第三方依赖库。根据不同应用场景封装了几个方法,下文相关内容需要的小伙伴可以参考一下
    2022-04-04
  • 使用Python的Django和layim实现即时通讯的方法

    使用Python的Django和layim实现即时通讯的方法

    这篇文章主要介绍了使用Python的Django和layim实现即时通讯的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • Python 输出时去掉列表元组外面的方括号与圆括号的方法

    Python 输出时去掉列表元组外面的方括号与圆括号的方法

    今天小编就为大家分享一篇Python 输出时去掉列表元组外面的方括号与圆括号的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • Python实现的寻找前5个默尼森数算法示例

    Python实现的寻找前5个默尼森数算法示例

    这篇文章主要介绍了Python实现的寻找前5个默尼森数算法,简单讲述了默尼森数的概念,并结合实例形式分析了Python求解默尼森数算法的相关操作技巧,需要的朋友可以参考下
    2018-03-03
  • Python datetime包函数简单介绍

    Python datetime包函数简单介绍

    这篇文章主要介绍了Python datetime包函数简单介绍,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08

最新评论