Matplotlib subplots()函式


Matplotlib的pyplot API有一個稱為subplots()的便捷函式,它充當實用程式包裝器,並在單個呼叫中幫助建立子圖的公共布局,包括封閉的圖形物件。函式的原型如下:

plt.subplots(nrows, ncols)

此函式的兩個整數引數指定子圖網格的行數和列數。該函式返回一個圖形物件和一個包含等於nrows * ncols的軸物件的元組。每個軸物件都可通過索引存取。在這裡,我們建立一個22列的子圖,並在每個子圖中顯示4個不同的圖。

參考以下實現程式碼:

#! /usr/bin/env python
#coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
import math

# 顯示中文設定...
plt.rcParams['font.sans-serif'] = ['SimHei'] # 步驟一(替換sans-serif字型)
plt.rcParams['axes.unicode_minus'] = False   # 步驟二(解決坐標軸負數的負號顯示問題)原文出自【易百教學】,商業轉載請聯絡作者獲得授權,非商業請保留原文連結:https://www.tw511.com/matplotlib/


fig,a =  plt.subplots(2,2)

x = np.arange(1,5)
a[0][0].plot(x,x*x)
a[0][0].set_title('平方')
a[0][1].plot(x,np.sqrt(x))
a[0][1].set_title('平方根')
a[1][0].plot(x,np.exp(x))
a[1][0].set_title('指數')
a[1][1].plot(x,np.log10(x))
a[1][1].set_title('log')
plt.show()

執行上面範例程式碼,得到以下結果 -