更新時(shí)間:2022年04月04日10時(shí)57分 來(lái)源:傳智教育 瀏覽次數(shù):
使用pyplot的subplot()函數(shù)可以在規(guī)劃好的某個(gè)區(qū)域中繪制單個(gè)子圖,subplot()函數(shù)的語(yǔ)法格式如下:
subplot(nrows, ncols, index, projection, polar, sharex, sharey, label, **kwargs)
該函數(shù)的常用參數(shù)含義如下。
·nrows:表示規(guī)劃區(qū)域的行數(shù)。
·ncols:表示規(guī)劃區(qū)域的列數(shù)。
·index:表示選擇區(qū)域的索引,默認(rèn)從1開(kāi)始編號(hào)。
·projection:表示子圖的投影類(lèi)型,可以為None、'aitoff'、'hammer'、'lambert'、'mollweide'、'polar'、'rectilinear'中任一取值,其中默認(rèn)值None代表使用'rectilinear'直線投影。
·polar:表示是否使用極坐標(biāo),默認(rèn)值為False。若參數(shù)polar設(shè)為T(mén)rue,則作用等同于projection='polar'。
·sharex, sharey:表示是否共享子圖的x軸或y軸。
參數(shù)nrows、ncols、index既支持單獨(dú)傳參,也支持以一個(gè)3位整數(shù)(每位整數(shù)必須小于10)的形式傳參。例如,subplot(235)與subplot(2,3,5)是等價(jià)的。
subplot()函數(shù)會(huì)返回一個(gè)Axes類(lèi)的子類(lèi)SubplotBase對(duì)象。
需要說(shuō)明的是,F(xiàn)igure類(lèi)對(duì)象可以使用add_subplot()方法繪制單子圖,此方式與subplot()函數(shù)的作用是等價(jià)的。例如,將畫(huà)布規(guī)劃成3x2的矩陣區(qū)域,并在索引為6的區(qū)域中繪制子圖;再次將畫(huà)布規(guī)劃成3x1的矩陣區(qū)域,并在索引為2的區(qū)域中繪制子圖,代碼如下。
# 通過(guò)窗口的形式顯示圖片,很好地體現(xiàn)子圖與整個(gè)畫(huà)布的位置關(guān)系 import matplotlib.pyplot as plt # 畫(huà)布被規(guī)劃為3x2的矩陣區(qū)域,之后在索引為6的區(qū)域中繪制子圖 ax_one = plt.subplot(326) ax_one.plot([1, 2, 3, 4, 5]) # 畫(huà)布被規(guī)劃為3x1的矩陣區(qū)域,之后在索引為2的區(qū)域中繪制子圖 ax_two = plt.subplot(312) ax_two.plot([1, 2, 3, 4, 5]) plt.show()
運(yùn)行程序,效果如圖5-2所示。
圖5-2 連續(xù)繪制的兩個(gè)子圖
北京校區(qū)