色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

使用Python繪圖庫matplotlib繪圖時,標簽文字超出畫面或重合怎么辦?

錢衛國2年前15瀏覽0評論

感謝您的邀請,這個問題可以通過tight_layout命令解決。

tight_layout

tight_layout命令可以說是一個并不完善的命令,因為在好多情況下這個命令并沒有什么效果甚至起到反作用,但是在一些情況下這個命令又可以使我們事半功倍,所以這個命令的使用效果需要我們去試驗。

說了這么多這個命令到底是干什么的呢?

tight_layout命令主要用于自動調整繪圖區的大小及間距,使所有的繪圖區及其標題、坐標軸標簽等都可以不重疊的完整顯示在畫布上。下面我們通過幾段實例代碼來進行講解。

一、單繪圖區

這段代碼只有一個繪圖區,但是繪圖區的X軸標簽、Y軸標簽、以及標題字體都設置的非常大,導致這些文字并不能完整的顯示出來。為了解決這個問題,傳統的方法是通過figure.subplots_adjust(left,right,top,bottom,wspace,hspace)方法進行設置,給文字留出足夠的空間。但是tight_layout命令免去了我們計算預留空間的麻煩,直接就可以將所有要素平鋪在畫布上完整顯示出來。

二、多繪圖區規則布局

當我們創建了多個繪圖區的時候,我們經常會遇到繪圖區之間有部分重疊的問題。

tight_layout命令同樣適用于此種問題的解決,它可以自動調整繪圖區之間的間隔將重疊部分減少到最小。

fig1.tight_layout()

此外,tight_layout命令還有三個關鍵字參數:pad、w_pad、h_pad。

  • pad用于設置繪圖區邊緣與畫布邊緣的距離大小

  • w_pad用于設置繪圖區間水平距離的大小

  • h_pad用于設置繪圖區間垂直距離的大小

使用方法及效果如下:

fig2.tight_layout(pad=0.4,w_pad=0.5,h_pad=1.0)

三、多繪圖區不規則布局

當我們的繪圖區大小不等時,tight_layout命令同樣適用。

下面兩張圖是兩個2×2網格下的繪圖區以及一個1×2網格下的繪圖區,在使用tight_layout命令前后的區別。

四、其他情況

當我們使用網格空間布局法,即使用subplot2grid()方法或者GridSpec()方法創建布局的時候,tight_layout命令在理論上也是適用的,但是經常會有莫名其妙的情況發生,導致顯示效果不盡人意,所以這里只講用法不進行演示了。

  • 使用subplot2grid()方法創建的布局,依舊是通過plt.tight_layout()或者fig.tight_layout()的命令使用

  • 使用GridSpec()方法創建的布局,需要通過GridSpec對象的tight_layout()方法使用,并傳遞畫布參數,如:gs.tight_layout(fig)

  • GridSpec對象的tight_layout()方法還有一個可選參數rect,是一個區域的坐標范圍,默認值為[0,0,1,1],代表在該區域內自動調整繪圖區大小。