Python Matplotlib中使用plt.savefig存储图片的方法举例

 更新时间:2023年02月14日 09:33:41   作者:码农研究僧  
pytorch下保存图像有很多种方法,但是这些基本上都是基于图像处理的,将图像的像素指定一定的维度,下面这篇文章主要给大家介绍了关于Python Matplotlib中使用plt.savefig存储图片的相关资料,需要的朋友可以参考下

前言

plt.show()展示图片的时候,截图进行保存,图片不是多么清晰

如何保存高清图也是一知识点

函数包名:import matplotlib.pyplot as plt

主要功能:

保存绘制数据后创建的图形。使用此方法可以将创建的图形保存

函数源码:(根据需要进行选择)

savefig(fname, dpi=None, facecolor='w', edgecolor='w', orientation='portrait', papertype=None, 
format=None, transparent=False, bbox_inches=None, pad_inches=0.1, frameon=None, metadata=None)

参数解释:

参数描述
fname指定格式图片或者指定文件位置
dpi画质
facecolor 和 edgecolor默认为白色
Orientation横向或者纵向
papertype纸张类型
format如png、pdf
transparent图片背景透明
bbox_inches图表多余的空白区去除
pad_inches保存图形周围填充

正常保存:plt.savefig("xx.png"),也可以svg的格式进行保存

保存的时候需要plt.show()在plt.savefig()之后,顺序颠倒会出现图片为空白。

当前文件保存:

注意事项:

  • 如果plt.show() 在plt.savefig()前,就会导致保存图片是空白的情况。
  • window的路径读取,需要反斜杠

要把所有的参数用上,可以用在直方图上

import matplotlib.pyplot as plt

x =[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
plt.hist(x)
  
plt.savefig("squares1.png",
            bbox_inches ="tight",
            pad_inches = 1,
            transparent = True,
            facecolor ="g",
            edgecolor ='w',
            orientation ='landscape')
  
plt.show()

截图如下:

补充:解决plt.savefig() 保存多张图片有重叠的问题

问题描述:

在多次调用plt.savefig()时,出现了保存的图片有上一个数据出现并重叠的现象。如下图:

部分代码:

import matplotlib.pyplot as plt

def ch_graph(num_clusters, ch_score, filepath, method, module):
    # Plot ch graph
    plt.plot(num_clusters, ch_score, 'bx-')
    plt.xlabel('Number of cluster')
    plt.ylabel('Calinski-Harabasz Score')
    plt.title('Calinski-Harabasz Score against Number of Cluster')
    plt.grid(True)
	filename = 'ch_graph_one.png'

    folder = 'Picture/'
    ch_filepath = filepath + '/' + folder + filename
    plt.savefig(ch_filepath)

def elbow_graph(num_clusters, Sum_of_squared_distances, filepath, method, module):
    # Plot ch graph
    plt.plot(num_clusters, Sum_of_squared_distances, 'bx-')
    plt.xlabel('Number of cluster')
    plt.ylabel('Sum of squared dist')
    plt.title('Sum of squared dist against Number of Cluster')
    plt.grid(True)
    
    filename = 'elbow_graph_one.png'
    folder = 'Picture/'
    elbow_filepath = filepath + '/' + folder + filename
    plt.savefig(elbow_filepath)

解决方法:

在plt.savefig()的下一行加上plt.close()就可以了。对于使用seaborn来绘制的图片,也同样使用plt.close()。

plt.close()内可输入的参数为:

  1. None: 目前的figure
  2. Figure: 给定的Figure实例
  3. int: 一个 figure数
  4. str: 一个 figure名字
  5. ‘all’: 全部 figures

另外,有时候也会因为没有关闭上一个canvas, 导致出现以下问题:

fig.canvas.draw_idle()   # need this if 'transparent=True' to reset colors

总结

到此这篇关于Python Matplotlib中使用plt.savefig存储图片的文章就介绍到这了,更多相关Matplotlib用plt.savefig存储图片内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 一文教你用Pyecharts做交互图表

    一文教你用Pyecharts做交互图表

    Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可,本文介绍了Pyecharts交互图表,感兴趣的可以了解一下
    2021-05-05
  • python 如何实现跳过异常继续执行

    python 如何实现跳过异常继续执行

    这篇文章主要介绍了python 如何实现跳过异常继续执行,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • Python函数高级(命名空间、作用域、装饰器)

    Python函数高级(命名空间、作用域、装饰器)

    这篇文章介绍了Python函数的高级用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • Python使用MoviePy轻松搞定视频编辑

    Python使用MoviePy轻松搞定视频编辑

    MoviePy 是一个使用 Python 编写的开源库,用于在视频编辑中创建、编辑和操作视频文件。本文就来教一下大家如何使用MoviePy轻松搞定视频编辑,需要的可以了解一下
    2023-05-05
  • Python中shutil模块的学习笔记教程

    Python中shutil模块的学习笔记教程

    shutil模块是一种高层次的文件操作工具,类似于高级API,主要强大之处在于其对文件的复制与删除操作更是比较支持好。下面这篇文章主要介绍了Python中shutil模块的相关教程,需要的朋友可以参考学习,下面来一起看看吧。
    2017-04-04
  • Python中利用LSTM模型进行时间序列预测分析的实现

    Python中利用LSTM模型进行时间序列预测分析的实现

    这篇文章主要介绍了Python中利用LSTM模型进行时间序列预测分析的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Python实现的选择排序算法示例

    Python实现的选择排序算法示例

    这篇文章主要介绍了Python实现的选择排序算法,结合实例形式分析了Python选择排序的概念、原理及简单实现技巧,需要的朋友可以参考下
    2017-11-11
  • Python+Opencv身份证号码区域提取及识别实现

    Python+Opencv身份证号码区域提取及识别实现

    这篇文章主要介绍了Python+Opencv身份证号码区域提取及识别实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • 解决pip install的时候报错timed out的问题

    解决pip install的时候报错timed out的问题

    今天小编就为大家分享一篇解决pip install的时候报错timed out的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • python将list转为matrix的方法

    python将list转为matrix的方法

    今天小编就为大家分享一篇python将list转为matrix的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12

最新评论