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