Python Matplotlib中使用plt.savefig存储图片的方法举例
作者:码农研究僧 发布时间:2021-11-19 14:08:55
标签:plt.savefig,存储图片,matplotlib
前言
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()内可输入的参数为:
None: 目前的figure
Figure: 给定的Figure实例
int: 一个 figure数
str: 一个 figure名字
‘all’: 全部 figures
另外,有时候也会因为没有关闭上一个canvas, 导致出现以下问题:
fig.canvas.draw_idle() # need this if 'transparent=True' to reset colors
来源:https://blog.csdn.net/weixin_47872288/article/details/128739356
0
投稿
猜你喜欢
- 在业界,普遍认为Oracle数据库的安全性要比SQL Server数据库高。下面笔者就来谈谈这两种数据库在安全性设计上面的异同。掌握好这些内
- 写在前面我的 CUDA 版本是什么? 这个问题本身就是有问题的,因为没有搞清楚cuda的分类这里的 CUDA 说的是 Driver CUDA
- 昨天晚上才发现已经出了jQuery的1.3版本,于是下载下来,把原来一个兄弟翻译的1.2.6的文档移植到了1.3中,点击这里可
- 如何动态添加单元格!! 用insertRow()和insertCell()方法 其用法如下: insertRow() v
- Python 中的 timeit 模块可以用来测试一段代码的执行耗时,如一个变量赋值语句的执行时间,一个函数的运行时间等。timeit 模块
- 本文实例讲述了php基于PDO实现功能强大的MYSQL封装类。分享给大家供大家参考,具体如下:class CPdo{ protected $
- 本文实例讲述了PHP完全二叉树定义与实现方法。分享给大家供大家参考,具体如下:若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1)
- 本文实例讲述了Golang算法问题之数组按指定规则排序的方法。分享给大家供大家参考,具体如下:给出一个二维数组,请将这个二维数组按第i列(i
- php从5.2.x升级到5.3.2.出来问题了。有些原来能用的程序报错了。报错内容是Deprecated: Function session
- 本文实例讲述了Python使用当前时间、随机数产生一个唯一数字的方法。分享给大家供大家参考,具体如下:Python生成当前时间很简单,比Ja
- 你不可能随时备份数据,但你的数据丢失时,或者数据库目录中的文件损坏时, 你只能恢复已经备份的文件,而在这之后的插入或更新的数据,就无能为力了
- 如何做一个检索结果带链接的检索?具体代码和说明如下:<% data=request.form("search_da
- 说下整体思路1、服务器安装ffmpeg2、使用ffmpeg -i 指令来转换amr为mp3格式(这个到时候写在PHP代码中,使用exec函数
- 简介 函数式编程语言在学术领域已经存在相当长一段时间了,但是从历史上看,它们没有丰富的工具和库可供使用。随着 .NET 平台上的
- 直接上代码图片就使用我家爽妹子的吧如果没有安装pil模块的话先cmd安装下输入:pip install pillow# -*- coding
- 在Microsoft SQL Server 2000中,用于数据存储的实用工具是数据库。数据库的物理表现是操作系统文件,即在物理上,一个数据
- explain显示了mysql如何使用索引来处理select语句以及连接表.可以帮助选择更好的索引和写出更优化的查询语句.使用方法:在sel
- 1. JSON简介JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它是JavaScript的子
- 一、配置webdriver下载谷歌浏览器驱动,并配置好import timeimport randomfrom PIL import Ima
- 本文实例讲述了Symfony2实现从数据库获取数据的方法。分享给大家供大家参考,具体如下:假设有一张表:test, 字段:name,colo