網(wǎng)站首頁 編程語言 正文
前言
本篇博客主要解決在使用pandas
繪制圖像并保存時,由于標(biāo)簽太長,導(dǎo)致坐標(biāo)軸上的標(biāo)簽顯示不全的問題。剛遇到問題時調(diào)整了一下圖片大小,然鵝并沒有卵用,于是乎就檢索了一下問題,發(fā)現(xiàn)沒有解決pandas
的。查詢無果后,查看了一下官方文檔,頓悟,這不就是matplotlib
嘛,換了一個關(guān)鍵字再查詢,果然,就是。所以本篇同樣適用于解決matplotlib
繪制圖像時出現(xià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. 問題描述
使用pandas
的DataFrame
存儲數(shù)據(jù)并繪制圖像,橫坐標(biāo)軸的標(biāo)簽是ResNet20
的各個layer
的名字,像module.layer1.0.conv1.weight
這樣,由于太長,導(dǎo)致繪制出來的圖像是這樣的:
坐標(biāo)軸的標(biāo)簽沒有顯示全,于是就嘗試改變圖像的大小:
# 改變下高度 ax = df_sparsity_tmp.iloc[0:-1].plot(kind='bar', figsize=[30,50], title="Sparse vs. Dense\n(element-wise)")
于是圖像就變成了下面這樣,雖然有效果,但圖片被拉長,依舊不美觀:
2. 問題原因
既然調(diào)整繪制圖像尺寸之后繪制出來的圖片依舊不符合預(yù)期,那就只能看看官方的文檔了----pandas.DataFrame.plot(),看看是不是還有其他參數(shù),能夠使圖像的大小及位置不變,坐標(biāo)軸的繪制空間適當(dāng)調(diào)整。然后就發(fā)現(xiàn)了這個:
函數(shù)返回了一個matplotlib.axes.Axes
,既然是matlitplot
,那問題就很容易解決了,matplotlib
老搞這樣的事。查看一下matplotlib
的文檔----matplotlib.pyplot.savefig(),可以看到:
默認(rèn)情況下,僅保存圖形給定的部分,如果設(shè)置為tight
,將嘗試保存更緊致的圖形。
4. 解決方法
在保存圖形是加入bbox_inches
參數(shù):
# 設(shè)置tight bbox fig.savefig('output.png', bbox_inches='tight')
再次保存圖形,此時的就很ok了:
結(jié)束語
原文鏈接:https://blog.csdn.net/qq_42730750/article/details/120743817
相關(guān)推薦
- 2021-12-06 Atlassian系列產(chǎn)品及插件激活方法[JIRA8.19.0+]_其它綜合
- 2022-12-01 Git基礎(chǔ)學(xué)習(xí)之分支操作的示例詳解_相關(guān)技巧
- 2022-02-03 ionic錨點(diǎn)操作
- 2022-12-29 Python?PyQt5實(shí)現(xiàn)拖拽與剪貼板功能詳解_python
- 2022-04-18 uniapp 獲取元素距離頂部的距離,實(shí)現(xiàn)頁面滾動元素消失后懸浮在底部的效果
- 2022-09-27 如何在Python中利用matplotlib.pyplot畫出函數(shù)圖詳解_python
- 2022-04-18 python?request?post?列表的方法詳解_python
- 2022-05-23 Python學(xué)習(xí)之時間包使用教程詳解_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支