subplot()
函數(shù)向當(dāng)前圖像(figure
)添加一個(gè)子圖(Axes
),并將該子圖設(shè)為當(dāng)前子圖?;蛘邔⒛匙訄D設(shè)為當(dāng)前子圖。
pyplot.subplot()
其實(shí)是Figure.add_subplot()
的一個(gè)封裝。
函數(shù)的定義簽名為:matplotlib.pyplot.subplot(*args, **kwargs)
函數(shù)的調(diào)用簽名為:
subplot(nrows, ncols, index, **kwargs)
subplot(pos, **kwargs)
subplot(**kwargs)
subplot(ax)
函數(shù)的參數(shù)為:
*args
:定義子圖的位置。int
、 (int, int, index)
或 SubplotSpec
, 默認(rèn)值為(1, 1, 1)
*args
由以下三種定義方式。
(nrows, ncols, index)
:首先構(gòu)成一個(gè)nrows行和ncols列的網(wǎng)格,然后將子圖添加到對(duì)應(yīng)index索引位置。 index從1開(kāi)始累計(jì),1為左上角,依次向右遞增. index也可以是是一個(gè)二元組,例如fig.add_subplot(3, 1, (1, 2))。SubplotSpec
對(duì)象:函數(shù)的返回值為:axes.SubplotBase
對(duì)象或 Axes
的其他子類。
import matplotlib.pyplot as plt # 添加3行3列子圖中的第1個(gè)子圖,并將其為當(dāng)前子圖 plt.subplot(331) plt.bar(range(1,4),range(1,4)) # 添加3行3列子圖中的第5個(gè)子圖,并將其為當(dāng)前子圖 plt.subplot(335) plt.pie([4,5,6]) # 添加3行3列子圖中的第9個(gè)子圖,并將其為當(dāng)前子圖 # 返回值為Axes對(duì)象 ax=plt.subplot(339) # 使用Axes的方法(面向?qū)ο竽J剑├L制點(diǎn) ax.plot([1],'o') plt.show()
pyplot.plot()
源碼如下,通過(guò)源碼可知pyplot
模塊的函數(shù)底層調(diào)用的是Axes
對(duì)象的對(duì)應(yīng)方法。
def plot(*args, scalex=True, scaley=True, data=None, **kwargs): return gca().plot( *args, scalex=scalex, scaley=scaley, **({"data": data} if data is not None else {}), **kwargs)
通常子區(qū)函數(shù)subplot()
用來(lái)完成等分畫布的繪圖展示的任務(wù),如果在畫布上需要進(jìn)行非等分畫布的圖形展示時(shí),我們可以多次調(diào)用函數(shù)subplot()
來(lái)完成非等分畫布的繪圖準(zhǔn)備任務(wù)。
import matplotlib.pyplot as plt # 繪制1行2列子圖中的第1個(gè)子圖 plt.subplot(121,facecolor='r') # 繪制2行2列子圖中的第2個(gè)子圖 plt.subplot(222,facecolor='g') # 繪制2行2列子圖中的第4個(gè)子圖 plt.subplot(224,facecolor='b') plt.show()
import matplotlib.pyplot as plt # 繪制3行2列子圖中的第1個(gè)子圖 plt.subplot(321,facecolor='r') # 繪制3行2列子圖中的第2個(gè)子圖 plt.subplot(322,facecolor='r') # 繪制3行2列子圖中的第3個(gè)子圖 plt.subplot(323,facecolor='r') # 繪制3行2列子圖中的第4個(gè)子圖 plt.subplot(324,facecolor='r') # # 繪制3行1列子圖中的第3個(gè)子圖 plt.subplot(313,facecolor='b') plt.show()
subplot()
函數(shù)有一個(gè)非常重要的特性:
在創(chuàng)建新的子圖時(shí),如果新建子圖與原有的子圖存在重疊的情況,那么會(huì)刪除原有重疊的子圖。
例如:
import matplotlib.pyplot as plt # 繪圖時(shí)隱含創(chuàng)建subplot(111) plt.plot([1, 2, 3]) # 創(chuàng)建一個(gè)新的子圖,由于與原子圖重疊,因此刪除原有子圖 plt.subplot(211) plt.show()
到此這篇關(guān)于matplotlib之pyplot模塊實(shí)現(xiàn)添加子圖subplot的使用的文章就介紹到這了,更多相關(guān)matplotlib 添加子圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
標(biāo)簽:陽(yáng)泉 日照 臨汾 克拉瑪依 貴州 赤峰 雙鴨山 金華
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《matplotlib之pyplot模塊實(shí)現(xiàn)添加子圖subplot的使用》,本文關(guān)鍵詞 matplotlib,之,pyplot,模塊,實(shí)現(xiàn),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。