轉載:https://blog.csdn.net/qq_26449287/article/details/103022636
matplotlib 是可以組合許多的小圖, 放在一張大圖里面顯示的. 使用到的方法叫作 subplot.
均勻畫圖
使用import
導入matplotlib.pyplot
模塊, 並簡寫成plt
. 使用plt.figure
創建一個圖像窗口.
-
import matplotlib.pyplot as plt
-
-
plt.figure()
使用plt.subplot
來創建小圖. plt.subplot(2,2,1)
表示將整個圖像窗口分為2行2列, 當前位置為1. 使用plt.plot([0,1],[0,1])
在第1個位置創建一個小圖.
-
plt.subplot(2,2,1)
-
plt.plot([0,1],[0,1])
plt.subplot(2,2,2)
表示將整個圖像窗口分為2行2列, 當前位置為2. 使用plt.plot([0,1],[0,2])
在第2個位置創建一個小圖.
-
plt.subplot(2,2,2)
-
plt.plot([0,1],[0,2])
plt.subplot(2,2,3)
表示將整個圖像窗口分為2行2列,當前位置為3. plt.subplot(2,2,3)
可以簡寫成plt.subplot(223)
, matplotlib同樣可以識別. 使用plt.plot([0,1],[0,3])
在第3個位置創建一個小圖.
-
plt.subplot(223)
-
plt.plot([0,1],[0,3])
plt.subplot(224)
表示將整個圖像窗口分為2行2列, 當前位置為4. 使用plt.plot([0,1],[0,4])
在第4個位置創建一個小圖.
-
plt.subplot(224)
-
plt.plot([0,1],[0,4])
-
-
plt.show() # 展示
不均勻畫圖
如果希望展示的小圖的大小不相同, 應該怎么做呢? 以上面的4個小圖為例, 如果把第1個小圖放到第一行, 而剩下的3個小圖都放到第二行.
使用plt.subplot(2,1,1)
將整個圖像窗口分為2行1列, 當前位置為1. 使用plt.plot([0,1],[0,1])
在第1個位置創建一個小圖.
-
plt.subplot(2,1,1)
-
plt.plot([0,1],[0,1])
使用plt.subplot(2,3,4)
將整個圖像窗口分為2行3列, 當前位置為4. 使用plt.plot([0,1],[0,2])
在第4個位置創建一個小圖.
-
plt.subplot(2,3,4)
-
plt.plot([0,1],[0,2])
這里需要解釋一下為什么第4個位置放第2個小圖. 上一步中使用plt.subplot(2,1,1)
將整個圖像窗口分為2行1列, 第1個小圖占用了第1個位置, 也就是整個第1行. 這一步中使用plt.subplot(2,3,4)
將整個圖像窗口分為2行3列, 於是整個圖像窗口的第1行就變成了3列, 也就是成了3個位置, 於是第2行的第1個位置是整個圖像窗口的第4個位置.
使用plt.subplot(235)
將整個圖像窗口分為2行3列,當前位置為5. 使用plt.plot([0,1],[0,3])
在第5個位置創建一個小圖. 同上, 再創建plt.subplot(236)
.
-
plt.subplot(235)
-
plt.plot([0,1],[0,3])
-
-
plt.subplot(236)
-
plt.plot([0,1],[0,4])
-
-
plt.show() # 展示
完整代碼
-
plt.figure()
-
plt.subplot( 2,1,1)
-
plt.plot([ 0,1],[0,1])
-
-
plt.subplot( 2,3,4)
-
plt.plot([ 0,1],[0,2])
-
-
plt.subplot( 235)
-
plt.plot([ 0,1],[0,3])
-
-
plt.subplot( 236)
-
plt.plot([ 0,1],[0,4])
-
-
plt.show() # 展示
結果如下