1. 程式人生 > >Matplotlib的子圖subplot的使用

Matplotlib的子圖subplot的使用

前言

Matplotlib的可以把很多張圖畫到一個顯示介面,這就設計到面板切分成一個一個子圖。這是怎麼做到的呢。matplot提供兩種方法。

subplot

直接指定劃分方式和位置進行繪圖。

t=np.arange(0.0,2.0,0.1)
s=np.sin(t*np.pi)
plt.subplot(2,2,1) #要生成兩行兩列,這是第一個圖plt.subplot('行','列','編號')
plt.plot(t,s,'b--')
plt.ylabel('y1')
plt.subplot(2,2,2) #兩行兩列,這是第二個圖
plt.plot(2*t,s,'r--')
plt.ylabel('y2'
) plt.subplot(2,2,3)#兩行兩列,這是第三個圖 plt.plot(3*t,s,'m--') plt.subplot(2,2,4)#兩行兩列,這是第四個圖 plt.plot(4*t,s,'k--') plt.show()

image.png

subplot前面倆引數指定的是一個畫板被分割成的行和列,後面一個引數則指的是當前正在繪製的編號!
那是個什麼編號規則呢?就是 行優先數數規則!
image.png
行優先開始數。

subplots

這個方法更直接。事先先把畫板分隔好。

t=np.arange(0.0,2.0,0.1)
s=np.sin(t*np.pi)
figure,ax=plt.subplots(2
,2) ax[0][0].plot(t,s,'r*') ax[0][1].plot(t*2,s,'b--') figure

這裡的的ax是matplotlib.axes._subplots.AxesSubplot 這個型別的,我們可以理解為這是一個子plot,我們在這上面操作它把影象畫到figure上面去。我們直接根據列表的下標指定畫圖的位置。最後顯示figure即可。
image.png