Pandas?Matplotlib保存圖形時(shí)坐標(biāo)軸標(biāo)簽太長(zhǎng)導(dǎo)致顯示不全問(wèn)題的解決
前言
本篇博客主要解決在使用pandas
繪制圖像并保存時(shí),由于標(biāo)簽太長(zhǎng),導(dǎo)致坐標(biāo)軸上的標(biāo)簽顯示不全的問(wèn)題。剛遇到問(wèn)題時(shí)調(diào)整了一下圖片大小,然鵝并沒(méi)有卵用,于是乎就檢索了一下問(wèn)題,發(fā)現(xiàn)沒(méi)有解決pandas
的。查詢(xún)無(wú)果后,查看了一下官方文檔,頓悟,這不就是matplotlib
嘛,換了一個(gè)關(guān)鍵字再查詢(xún),果然,就是。所以本篇同樣適用于解決matplotlib
繪制圖像時(shí)出現(xiàn)的這個(gè)問(wèn)題。
# 部分代碼 df_sparsity = distiller.weights_sparsity_summary(resnet20) df_sparsity_tmp = df_sparsity[['NNZ (dense)', 'NNZ (sparse)']] ax = df_sparsity_tmp.iloc[0:-1].plot(kind='bar', figsize=[30,10], title="Sparse vs. Dense\n(element-wise)") ax.set_xticklabels(df_sparsity.Name, rotation=90) fig = ax.get_figure() fig.savefig('output.png')
1. 問(wèn)題描述
使用pandas
的DataFrame
存儲(chǔ)數(shù)據(jù)并繪制圖像,橫坐標(biāo)軸的標(biāo)簽是ResNet20
的各個(gè)layer
的名字,像module.layer1.0.conv1.weight
這樣,由于太長(zhǎng),導(dǎo)致繪制出來(lái)的圖像是這樣的:
坐標(biāo)軸的標(biāo)簽沒(méi)有顯示全,于是就嘗試改變圖像的大?。?/p>
# 改變下高度 ax = df_sparsity_tmp.iloc[0:-1].plot(kind='bar', figsize=[30,50], title="Sparse vs. Dense\n(element-wise)")
于是圖像就變成了下面這樣,雖然有效果,但圖片被拉長(zhǎng),依舊不美觀(guān):
2. 問(wèn)題原因
既然調(diào)整繪制圖像尺寸之后繪制出來(lái)的圖片依舊不符合預(yù)期,那就只能看看官方的文檔了----pandas.DataFrame.plot(),看看是不是還有其他參數(shù),能夠使圖像的大小及位置不變,坐標(biāo)軸的繪制空間適當(dāng)調(diào)整。然后就發(fā)現(xiàn)了這個(gè):
函數(shù)返回了一個(gè)matplotlib.axes.Axes
,既然是matlitplot
,那問(wèn)題就很容易解決了,matplotlib
老搞這樣的事。查看一下matplotlib
的文檔----matplotlib.pyplot.savefig(),可以看到:
默認(rèn)情況下,僅保存圖形給定的部分,如果設(shè)置為tight
,將嘗試保存更緊致的圖形。
4. 解決方法
在保存圖形是加入bbox_inches
參數(shù):
# 設(shè)置tight bbox fig.savefig('output.png', bbox_inches='tight')
再次保存圖形,此時(shí)的就很ok了:
結(jié)束語(yǔ)
到此這篇關(guān)于Pandas Matplotlib保存圖形時(shí)坐標(biāo)軸標(biāo)簽太長(zhǎng)導(dǎo)致顯示不全問(wèn)題解決的文章就介紹到這了,更多相關(guān)Pandas Matplotlib保存圖形顯示不全內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)分?jǐn)?shù)序列求和
今天小編就為大家分享一篇Python實(shí)現(xiàn)分?jǐn)?shù)序列求和,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02python heic后綴圖片文件轉(zhuǎn)換成jpg格式的操作
這篇文章主要介紹了python heic后綴圖片文件轉(zhuǎn)換成jpg格式的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03python通過(guò)安裝itchat包實(shí)現(xiàn)微信自動(dòng)回復(fù)收到的春節(jié)祝福
這篇文章主要介紹了python通過(guò)安裝itchat包實(shí)現(xiàn)微信自動(dòng)回復(fù)收到的春節(jié)祝福,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2020-01-01python 統(tǒng)計(jì)數(shù)組中元素出現(xiàn)次數(shù)并進(jìn)行排序的實(shí)例
今天小編就為大家分享一篇python 統(tǒng)計(jì)數(shù)組中元素出現(xiàn)次數(shù)并進(jìn)行排序的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07python?opencv實(shí)現(xiàn)目標(biāo)外接圖形
這篇文章主要為大家詳細(xì)介紹了python?opencv實(shí)現(xiàn)目標(biāo)外接圖形,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08Python使用StringIO和BytesIO讀寫(xiě)內(nèi)存數(shù)據(jù)
這篇文章介紹了Python使用StringIO和BytesIO讀寫(xiě)內(nèi)存數(shù)據(jù)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05報(bào)錯(cuò)No?module?named?numpy問(wèn)題的解決辦法
之前安裝了Python,后來(lái)因?yàn)榫毩?xí)使用Python寫(xiě)科學(xué)計(jì)算的東西,又安裝了Anaconda,但是安裝Anaconda之后又出現(xiàn)了一個(gè)問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于報(bào)錯(cuò)No?module?named?numpy問(wèn)題的解決辦法,需要的朋友可以參考下2022-08-08python3字符串輸出常見(jiàn)面試題總結(jié)
在本篇文章里小編給大家整理的是一篇關(guān)于python3字符串輸出常見(jiàn)面試題總結(jié)內(nèi)容,有需要的朋友們可以參考下。2020-12-12