更新時間:2022-09-07 來源:黑馬程序員 瀏覽量:
假設(shè)想畫一幅素描,首先需要在畫架上放置并固定一個畫板,然后在畫板上放置并固定一張畫布,最后在畫布上畫圖。同理,使用matplotlib庫繪制的圖形并非只有一層結(jié)構(gòu),它也是由多層結(jié)構(gòu),它也是由多層結(jié)構(gòu)組成的,以便對每層結(jié)構(gòu)進(jìn)行單獨(dú)設(shè)置。
使用matplotlib繪制的圖形主要由三層組成:容器層、圖像層和輔助顯示層。
1.容器層
容器層主要由Canvas對象、Figure對象、Axes對象組成,其中Canvas對象充當(dāng)畫板的角色,位于底層;Figure對象充當(dāng)畫布的角色,它可以包含多個圖表,位于Canvas對象的上方,也就是用戶操作的應(yīng)用層的第一層;Axes對象充當(dāng)畫布中繪圖區(qū)域的角色,它擁有獨(dú)立的坐標(biāo)系,可以將其看作一個圖表,位于Figure對象的上方,也就是用戶操作的應(yīng)用層的第二層。Canvas對象、Figure對象、Axes對象的層次關(guān)系如圖1-33所示。
需要說明的是,Camvas對象無須用戶創(chuàng)建。Axes對象擁有屬于自己的坐標(biāo)系,它可以是直角坐標(biāo)系,即包含x軸和y軸的坐標(biāo)系,也可以是三維坐標(biāo)系(Axes的子類Axes3D對象),即包含x軸、y軸、z軸的坐標(biāo)系。
2.圖像層
圖像層是指繪圖區(qū)域內(nèi)繪制的圖形。例如,本節(jié)中使用plot()方法根據(jù)數(shù)據(jù)繪制的直線。
圖1-33 Canvas對象、Figure對象、Axes對象的層次關(guān)系
3.輔助顯示層
輔助顯示層是指繪圖區(qū)域內(nèi)除所繪圖形之外的輔助元素,包括坐標(biāo)軸(Axis類對象,包括軸脊和刻度,其中軸脊是Spine類對象,刻度是Ticker類對象)、標(biāo)題(Text類對象)、圖例(Legend類對象)、注釋文本(Text類對象)等。輔助元素可以使圖表更直觀、更容易被用戶理解,但是又不會對圖形產(chǎn)生實質(zhì)的影響。
需要說明的是,圖像層和輔助顯示層所包含的內(nèi)容都位于Axes類對象之上,都屬于圖表的元素。