更新時間:2022-04-06 來源:黑馬程序員 瀏覽量:
使用pyplot的subplots()函數(shù)可以在規(guī)劃好的所有區(qū)域中一次繪制多個子圖。subplots()函數(shù)的語法格式如下:
該函數(shù)常用參數(shù)的含義如下:
subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, subplot_kw=None, gridspec_kw=None, **fig_kw)
·nrows:表示規(guī)劃區(qū)域的行數(shù),默認為1。
·ncols:表示規(guī)劃區(qū)域的行列數(shù),默認為1。
·sharex,sharey:表示是否共享子圖的x軸或y軸。
·squeeze:表示是否返回壓縮的Axes對象數(shù)組,默認為True。當squeeze為True時,若nrows和ncols均為1,則subplots()函數(shù)會返回一個Axes對象;若nrows和ncols均大于1,則subplots()函數(shù)會返回一個Axes對象數(shù)組。當參數(shù)squeeze為False時,subplots()函數(shù)會返回一個包含Axes對象的二維數(shù)組。
·gridspec_kw:表示用于控制區(qū)域結(jié)構(gòu)屬性的字典。
subplots()函數(shù)會返回一個包含兩個元素的元組,其中元組的第一個元素為Figure對象,第二個元素為Axes對象或Axes對象數(shù)組。
例如,將畫布規(guī)劃成2x2的矩陣區(qū)域,之后在第3個區(qū)域中繪制子圖,代碼如下。
import matplotlib.pyplot as plt # 將畫布劃分為2x2的等分區(qū)域 fig, ax_arr = plt.subplots(2, 2) # 獲取ax_arr數(shù)組第1行第0列元素,也就是第3個區(qū)域 ax_thr = ax_arr[1, 0] ax_thr.plot([1, 2, 3, 4, 5]) plt.show()
運行程序,效果如圖5-7所示。
圖5-7 一次繪制的多個子圖