Python Matplotlib中使用plt.savefig存储图片的方法举例
作者:码农研究僧 时间:2021-11-19 14:08:55
前言
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
标签:plt.savefig,存储图片,matplotlib
0
投稿
猜你喜欢
sqlserver中查询横表变竖表的sql语句简析
2012-05-22 18:10:00
制作主页的独门功夫五十招
2010-09-05 21:15:00
Python中常见的导入方式总结
2023-03-04 18:22:03
sql函数:去掉html代码
2008-04-07 12:44:00
在python中实现求输出1-3+5-7+9-......101的和
2022-10-08 16:33:14
注册表单的改进分解
2008-05-31 17:19:00
python避免死锁方法实例分析
2023-08-04 04:32:59
AJAX实例:根据邮编自动完成地址信息
2008-03-06 19:44:00
如何解决“cint和clng的溢出出错”问题?
2009-12-03 20:21:00
Python实现连接dr校园网示例详解
2022-09-20 05:00:45
redux-saga 初识和使用
2023-07-15 16:20:17
很有创意的鼠标指针风筝
2007-09-22 09:24:00
用一条SQL实现:一行多个字段数据的最大值
2008-12-31 13:37:00
FrontPage2002简明教程七:HTML在FrontPage中的应用
2008-09-17 11:33:00
网页常用特效整理:初级篇
2023-06-27 00:58:37
Docker实践之python应用容器化
2023-06-07 03:29:43
Python subprocess模块常见用法分析
2023-05-22 18:48:44
什么是gzip,人肉gzip?
2008-11-20 13:01:00
巧用XSL和ASP在线编辑XML文档
2008-10-25 14:54:00
PHP正则表达式替换<pre>标签外的内容
2023-05-22 10:47:12