python matplotlib畫盒圖、子圖解決坐標(biāo)軸標(biāo)簽重疊的問題
在使用matplotlib畫圖的時(shí)候?qū)⒊?huì)出現(xiàn)坐標(biāo)軸的標(biāo)簽太長而出現(xiàn)重疊的現(xiàn)象,本文主要通過自身測過好用的解決辦法進(jìn)行展示,希望也能幫到大家,原圖出現(xiàn)重疊現(xiàn)象例如圖1:

代碼為:
data1=[[0.3765,0.3765,0.3765,0.3765,0.3765],[0.3765,0.3765,0.3765,0.3765,0.3765],[0.3765,0.3765,0.3765,0.3765,0.3765],[0.3765,0.3765,0.3765,0.3765,0.3765]]
data2=[[0.2985,0.2268,0.2985,0.2996,0.2985],[0.2022,0.3203,0.3141,0.2926,0.2681],[0.2985,0.2668,0.2786,0.2985,0.2985],[0.2985,0.2985,0.2984,0.2978,0.2966]]
data3=[[0.7789,0.7698,0.6999,0.7789,0.7789],[0.7788,0.7758,0.7768,0.7698,0.8023],[0.7789,0.7781,0.7789,0.7789,0.7789],[0.7789,0.7782,0.7752,0.7852,0.7654]]
data4=[[0.6688,0.6688,0.6688,0.6981,0.6618],[0.6688,0.5644,0.5769,0.5858,0.5882],[0.6688,0.6688,0.6688,0.6688,0.6646],[0.6688,0.6646,0.6646,0.6688,0.6746]] #date1-date4均為我用到的數(shù)據(jù),數(shù)據(jù)的形式等可自行更換。
##將4個(gè)圖畫在一張圖上
fig=plt.figure(figsize=(13,11))
ax1=fig.add_subplot(2, 2, 1)##左右布局
ax2=fig.add_subplot(2, 2, 2)
ax3=fig.add_subplot(2, 2, 3)##上下布局
ax4=fig.add_subplot(2, 2, 4)
plt.sca(ax1)
labels=['Today is Sunday','Today is Monday','Today is Tuesday','Today is Wednesday']#標(biāo)簽
plt.boxplot(data1,labels=labels,boxprops={'linewidth':'2'},capprops={'linewidth':'2'},whiskerprops={'linewidth':'2'},medianprops={'linewidth':'2'}) #linewidth設(shè)置線條的粗細(xì);boxprops、capprops、whiskerprops、medianprops表示盒圖中各個(gè)線條的類型
plt.ylabel('Today',fontsize=16)
plt.xlabel('(a)',fontsize=16)
plt.sca(ax2)
labels=['Today is Sunday','Today is Monday','Today is Tuesday','Today is Wednesday']
plt.boxplot(data2,labels=labels,boxprops={'linewidth':'2'},capprops={'linewidth':'2'},whiskerprops={'linewidth':'2'},medianprops={'linewidth':'2'})
plt.xlabel('(b)',fontsize=16)
plt.sca(ax3)
labels=['Today is Sunday','Today is Monday','Today is Tuesday','Today is Wednesday']
plt.boxplot(data3,labels=labels,boxprops={'linewidth':'2'},capprops={'linewidth':'2'},whiskerprops={'linewidth':'2'},medianprops={'linewidth':'2'})
plt.ylabel('Today',fontsize=16)
plt.xlabel('(c)',fontsize=16)
plt.sca(ax4)
labels=['Today is Sunday','Today is Monday','Today is Tuesday','Today is Wednesday']
plt.boxplot(data4,labels=labels,boxprops={'linewidth':'2'},capprops={'linewidth':'2'},whiskerprops={'linewidth':'2'},medianprops={'linewidth':'2'})
plt.xlabel('(d)',fontsize=16)
plt.show()
1、解決辦法1: 將軸標(biāo)簽分兩行顯示,如圖2:

只需在原代碼中每個(gè)子圖畫圖中加上代碼:
ax1.set_xticklabels(['Today is Sunday','\n'+'Today is Monday','Today is Tuesday','\n'+'Today is Wednesday'],fontsize=16)
'\n'+則表示換行顯示的意思,想要哪個(gè)標(biāo)簽換行顯示,則在標(biāo)簽前面加上此符號(hào),也可以換多行,一個(gè)\n表示一行,例如'\n\n'+則表示換兩行顯示。fontsize是設(shè)置顯示標(biāo)簽的字體大小。
2、解決辦法2:軸標(biāo)簽傾斜顯示

同樣只需在原代碼的基礎(chǔ)上加上一句代碼:
ax1.set_xticklabels(['Today is Sunday','Today is Monday','Today is Tuesday','Today is Wednesday'],fontsize=16,rotation=10)
rotation表示傾斜的角度,10即為傾斜10度,可任意設(shè)置,也可結(jié)合上面換行顯示一同使用。
3、解決辦法3:利用matplotlib里面的自動(dòng)調(diào)整語句

只需在原代碼的畫圖部分的最后加上matplotlib自動(dòng)調(diào)整的語句,圖則會(huì)自動(dòng)調(diào)整標(biāo)簽大?。?/p>
plt.tight_layout()
以上這篇python matplotlib畫盒圖、子圖解決坐標(biāo)軸標(biāo)簽重疊的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python tkinterEntry組件設(shè)置默認(rèn)值方式
使用Tkinter庫中的Entry組件創(chuàng)建文本輸入框時(shí),可以通過insert方法在指定位置插入默認(rèn)文本作為提示,結(jié)合使用focus和focusin事件,可以實(shí)現(xiàn)用戶點(diǎn)擊時(shí)清除默認(rèn)文本,以便輸入自定義內(nèi)容2024-09-09
python實(shí)現(xiàn)PDF中表格轉(zhuǎn)化為Excel的方法
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)PDF中表格轉(zhuǎn)化為Excel的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-06-06
Python NumPy創(chuàng)建數(shù)組方法
這篇文章主要介紹了Python NumPy創(chuàng)建數(shù)組方法,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-09-09
十個(gè)常見的Python腳本詳細(xì)介紹及代碼舉例
這篇文章主要給大家介紹了十個(gè)常見的Python腳本的相關(guān)資料,包括批量重命名文件、下載網(wǎng)頁圖片、發(fā)送郵件通知、讀取和寫入CSV文件、爬取網(wǎng)頁數(shù)據(jù)、自動(dòng)化測試、圖像處理、數(shù)據(jù)可視化以及創(chuàng)建簡單的Web應(yīng)用,需要的朋友可以參考下2024-11-11
python實(shí)現(xiàn)npy格式文件轉(zhuǎn)換為txt文件操作
這篇文章主要介紹了python實(shí)現(xiàn)npy格式文件轉(zhuǎn)換為txt文件操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-07-07
使用IPython下的Net-SNMP來管理類UNIX系統(tǒng)的教程
這篇文章主要介紹了使用IPython下的Net-SNMP來管理類UNIX系統(tǒng)的教程,本文來自于IBM官方網(wǎng)站技術(shù)文檔,需要的朋友可以參考下2015-04-04
python manim實(shí)現(xiàn)排序算法動(dòng)畫示例
這篇文章主要為大家介紹了python manim實(shí)現(xiàn)排序算法動(dòng)畫示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08

