Matplotlib之解决plt.savefig()保存多张图片有重叠的问题
Python Matplotlib 解决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
参考链接:pyplot.close()
matplotlib—plt.savefig存储高清图片
1.matplotlib模块中pyplot的引入
import matplotlib.pyplot as plt
2.保存与显示
在代码的顺序中,保存需要在显示的前面
#保存图片
#bbox_inches='tight'表示指定将图表多余的空白区域裁减掉
plt.savefig('test.png', bbox_inches='tight')
#显示图片
plt.show()如果plt.show() 在plt.savefig()前,就会导致保存图片是空白的情况。
3.保存高清图片
将保存的图片后缀进行修改,改为.svg即可。
plt.savefig('test.svg', bbox_inches='tight')
#显示图片
plt.show()总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
python 使用GDAL实现栅格tif转矢量shp的方式小结
今天通过本文给大家分享python 使用GDAL实现栅格tif转矢量shp的方式小结,计划是使用栅格转矢量的方式,将栅格数据转为矢量shp文件,然后进行矢量切片,使用Mapbox进行前端动态渲染,具体内容详情跟随小编一起看看吧2021-08-08
从入门到精通:Python项目打包与setup.py实战指南
想要将你的Python项目分享给世界吗?本指南将带你从零开始,一步步学习如何打包你的Python项目,并创建一个专业的setup.py文件,我们将分享实用的技巧和最佳实践,帮助你的项目在Python社区中脱颖而出,跟着我们的步伐,让你的项目打包变得轻松有趣!2024-03-03
Python实现的json文件读取及中文乱码显示问题解决方法
这篇文章主要介绍了Python实现的json文件读取及中文乱码显示问题解决方法,涉及Python针对json文件的读取载入、编码转换等相关操作技巧,需要的朋友可以参考下2018-08-08
Python机器学习库sklearn(scikit-learn)的基础知识和高级用法
Scikit-Learn是 Python 最流行的机器学习库之一,它提供了各种工具来实现、评估和探索各种学习算法,用于,各种机器学习任务,在本教程中,我们将介绍 Scikit-Learn 的基础知识和一些高级用法,并提供一些实例代码来帮助我们更好地理解2023-07-07


最新评论