matplotlib是一個Python包,包就是一個包含名為“__init__.py' 初始化文件的文件夾。
matplotlib包下面還有一些子包,其中的 axes, backends 兩個子包與我們關(guān)系最緊密。
matplotlib包及其子包共提供了68個模塊。在這些模塊中提供了matplotlib繪圖需要的全部對象。
matplotlib架構(gòu)
matplotlib中對象眾多,常用的對象有:
MPL繪圖常用對象
請注意這些對象的層次關(guān)系。
matplotlib中,面向?qū)ο罄L圖的一般流程如下:
MPL繪圖流程
首先,導(dǎo)入我們要用到的模塊和類,如:
第二步:實例化Figure類,創(chuàng)建一個figure,這是一個頂級容器,后面繪制的對象一般都會放到這個容器中。figure定義了一矩形區(qū)域,提供了后續(xù)對象定位的參考坐標,它也是MPL繪圖中各種坐標類型與顯示(display)坐標轉(zhuǎn)換的橋梁。
第三步:實例化Canvas類,創(chuàng)建一塊畫布。實例化的同時就將上一步創(chuàng)建的figure與這個Canvas做了綁定。
第四步:向figure中添加Axes,這是一個子容器。可以向一個figure中添加多個Axes,后續(xù)添加的元素,絕大多數(shù)都是放在指定的子容器中。
第五步:向指定的Axes中添加artists,如點、線、面、文本等。重復(fù)添加....
然后:顯示或保存你的圖形。
figure模塊提供頂層的Artist,其中的Figure類是一個頂級容器,容納(存放)所有的繪圖元素。該模塊定義了下面的類:
AxesStack,堆棧的專門化,以跟蹤圖形中的所有軸。
Figure,所有繪圖元素的頂層容器。
SubplotParams,保存子圖參數(shù)的類。
一般情況下,AxesStack、SubplotParams自動在后臺隱式地提供服務(wù),我們不需要主動去調(diào)用和處理它們。
該模塊中的 Figure是最基礎(chǔ),也是最常用的類。
MPL繪圖總是實例化Figure類開始,它是其它元素的頂級容器,也是其它元素定位的參考坐標。它提供了一系列參數(shù)、屬性、方法,用于繪制、控制Figure本身及其子容器和元素的布局。
Figure類的調(diào)用簽名如下:
有9個必需的形參,但又都提供了默認值。意味著,你可以一個參數(shù)都不提供,MPL會調(diào)用默認參數(shù)創(chuàng)建一個Figure實例。