Matplotlib中控制子圖的間距

由於上一篇文章完成的時候,專欄並沒有申請通過,所以上一篇如何畫子圖的文章在*我的文章*中可以找到,這篇文章主要說明如何控制子圖和子圖的間距。

在上一篇文章中提到,subplot和subplot2grid兩個函數都可以用來生成子圖,相對而言,後一個函數更加靈活,但是怎麼控制子圖間距呢?就靠下面這個函數:

subplots_adjust(left=0.15,bottom=0.1,top=0.9,right=0.95,hspace=0.2,wspace=0.25)

這個函數就在pylab中,可以直接導入使用,每一個參數的含義也相對明確。在這裡要說明的是在用pylab畫圖的時候,我們是在一個叫做figure的對象上作圖。其中每一個參數含義通過對比來說明,比方我們畫一幅有 2	imes2 個子圖,首先來看left,bottom,top和right的作用,代碼如下:

from pylab import *subplots_adjust(left=0.0,bottom=0.0,top=1,right=1)for i in range(1,5): subplot(2,2,i) text(0.5,0.5,str(i))show()

from pylab import *subplots_adjust(left=0.4,bottom=0.4,top=0.6,right=0.6)for i in range(1,5): subplot(2,2,i) text(0.5,0.5,str(i))show()

通過對比,可以看到這四個參數用來控制上下左右的空白,注意這裡面是從figure的左下角開始標記,取值從0-1。top和right的取值也是以左下角為坐標原點計數,並不是表示到最上方和最右邊的比例。比如top=0.9表示給上面留下0.1的空白,這兩個變數經常被搞錯。

通過上面的例子,另外兩個變數wspace和hspace的意義就非常明顯了,他們分別控制子圖之間的列距和行距,就不再畫圖說明了。

下一篇文章介紹如何畫插圖。


推薦閱讀:

在 Python 中如何判斷輸入數字是實數(整型數字或者浮點型數字)?
spyder 如何添加和安裝其他的包?
學習python為什麼要在linux下?怎麼學?
9個Python編程小貼士

TAG:Matplotlib | Python | 編程 |