您好,登錄后才能下訂單哦!
這篇文章主要介紹“Pandas Matplotlib保存圖形時(shí)坐標(biāo)軸標(biāo)簽太長(zhǎng)導(dǎo)致顯示不全如何解決”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“Pandas Matplotlib保存圖形時(shí)坐標(biāo)軸標(biāo)簽太長(zhǎng)導(dǎo)致顯示不全如何解決”文章能幫助大家解決問(wè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')
使用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),依舊不美觀:
既然調(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
,將嘗試保存更緊致的圖形。
在保存圖形是加入bbox_inches
參數(shù):
# 設(shè)置tight bbox fig.savefig('output.png', bbox_inches='tight')
再次保存圖形,此時(shí)的就很ok了:
關(guān)于“Pandas Matplotlib保存圖形時(shí)坐標(biāo)軸標(biāo)簽太長(zhǎng)導(dǎo)致顯示不全如何解決”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。