Matplotlib之解決plt.savefig()保存多張圖片有重疊的問(wèn)題
Python Matplotlib 解決plt.savefig()保存多張圖片有重疊問(wèn)題
問(wèn)題描述
在多次調(diào)用plt.savefig()時(shí),出現(xiàn)了保存的圖片有上一個(gè)數(shù)據(jù)出現(xiàn)并重疊的現(xiàn)象。
如下圖:
部分代碼:
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()
就可以了。
對(duì)于使用 seaborn
來(lái)繪制的圖片,也同樣使用 plt.close()
。
plt.close()
內(nèi)可輸入的參數(shù)為:
- None: 目前的figure
- Figure: 給定的Figure實(shí)例
- int: 一個(gè) figure數(shù)
- str: 一個(gè) figure名字
- ‘all’: 全部 figures
另外,有時(shí)候也會(huì)因?yàn)闆](méi)有關(guān)閉上一個(gè)canvas, 導(dǎo)致出現(xiàn)以下問(wèn)題:
fig.canvas.draw_idle() # need this if 'transparent=True' to reset colors
參考鏈接:pyplot.close()
matplotlib—plt.savefig存儲(chǔ)高清圖片
1.matplotlib模塊中pyplot的引入
import matplotlib.pyplot as plt
2.保存與顯示
在代碼的順序中,保存需要在顯示的前面
#保存圖片 #bbox_inches='tight'表示指定將圖表多余的空白區(qū)域裁減掉 plt.savefig('test.png', bbox_inches='tight') #顯示圖片 plt.show()
如果plt.show() 在plt.savefig()前,就會(huì)導(dǎo)致保存圖片是空白的情況。
3.保存高清圖片
將保存的圖片后綴進(jìn)行修改,改為.svg即可。
plt.savefig('test.svg', bbox_inches='tight') #顯示圖片 plt.show()
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python可視化學(xué)習(xí)之seaborn繪制矩陣圖詳解
矩陣圖即用一張圖繪制多個(gè)變量之間的關(guān)系,數(shù)據(jù)挖掘中常用于初期數(shù)據(jù)探索。本文介紹python中seaborn.pairplot和seaborn.PairGrid繪制矩陣圖,需要的可以參考一下2022-02-02python矩陣運(yùn)算,轉(zhuǎn)置,逆運(yùn)算,共軛矩陣實(shí)例
這篇文章主要介紹了python矩陣運(yùn)算,轉(zhuǎn)置,逆運(yùn)算,共軛矩陣實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05python 使用GDAL實(shí)現(xiàn)柵格tif轉(zhuǎn)矢量shp的方式小結(jié)
今天通過(guò)本文給大家分享python 使用GDAL實(shí)現(xiàn)柵格tif轉(zhuǎn)矢量shp的方式小結(jié),計(jì)劃是使用柵格轉(zhuǎn)矢量的方式,將柵格數(shù)據(jù)轉(zhuǎn)為矢量shp文件,然后進(jìn)行矢量切片,使用Mapbox進(jìn)行前端動(dòng)態(tài)渲染,具體內(nèi)容詳情跟隨小編一起看看吧2021-08-08Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的遞歸下降分析器
這篇文章主要介紹了Python如何實(shí)現(xiàn)一個(gè)簡(jiǎn)單的遞歸下降分析器,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-08-08從入門(mén)到精通:Python項(xiàng)目打包與setup.py實(shí)戰(zhàn)指南
想要將你的Python項(xiàng)目分享給世界嗎?本指南將帶你從零開(kāi)始,一步步學(xué)習(xí)如何打包你的Python項(xiàng)目,并創(chuàng)建一個(gè)專(zhuān)業(yè)的setup.py文件,我們將分享實(shí)用的技巧和最佳實(shí)踐,幫助你的項(xiàng)目在Python社區(qū)中脫穎而出,跟著我們的步伐,讓你的項(xiàng)目打包變得輕松有趣!2024-03-03Pandas實(shí)現(xiàn)復(fù)制dataframe中的每一行
這篇文章主要介紹了Pandas實(shí)現(xiàn)復(fù)制dataframe中的每一行方式,2024-02-02python 圖像插值 最近鄰、雙線性、雙三次實(shí)例
這篇文章主要介紹了python 圖像插值 最近鄰、雙線性、雙三次實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07Python實(shí)現(xiàn)的json文件讀取及中文亂碼顯示問(wèn)題解決方法
這篇文章主要介紹了Python實(shí)現(xiàn)的json文件讀取及中文亂碼顯示問(wèn)題解決方法,涉及Python針對(duì)json文件的讀取載入、編碼轉(zhuǎn)換等相關(guān)操作技巧,需要的朋友可以參考下2018-08-08選擇Python寫(xiě)網(wǎng)絡(luò)爬蟲(chóng)的優(yōu)勢(shì)和理由
在本篇文章里小編給各位整理了一篇關(guān)于選擇Python寫(xiě)網(wǎng)絡(luò)爬蟲(chóng)的優(yōu)勢(shì)和理由以及相關(guān)代碼實(shí)例,有興趣的朋友們閱讀下吧。2019-07-07Python機(jī)器學(xué)習(xí)庫(kù)sklearn(scikit-learn)的基礎(chǔ)知識(shí)和高級(jí)用法
Scikit-Learn是 Python 最流行的機(jī)器學(xué)習(xí)庫(kù)之一,它提供了各種工具來(lái)實(shí)現(xiàn)、評(píng)估和探索各種學(xué)習(xí)算法,用于,各種機(jī)器學(xué)習(xí)任務(wù),在本教程中,我們將介紹 Scikit-Learn 的基礎(chǔ)知識(shí)和一些高級(jí)用法,并提供一些實(shí)例代碼來(lái)幫助我們更好地理解2023-07-07