首頁(yè)技術(shù)文章正文

Python數(shù)據(jù)可視化:matplotlib所繪圖形的層次結(jié)構(gòu)

更新時(shí)間:2022-09-07 來(lái)源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

  假設(shè)想畫一幅素描,首先需要在畫架上放置并固定一個(gè)畫板,然后在畫板上放置并固定一張畫布,最后在畫布上畫圖。同理,使用matplotlib庫(kù)繪制的圖形并非只有一層結(jié)構(gòu),它也是由多層結(jié)構(gòu),它也是由多層結(jié)構(gòu)組成的,以便對(duì)每層結(jié)構(gòu)進(jìn)行單獨(dú)設(shè)置。

  使用matplotlib繪制的圖形主要由三層組成:容器層、圖像層和輔助顯示層。

  1.容器層

  容器層主要由Canvas對(duì)象、Figure對(duì)象、Axes對(duì)象組成,其中Canvas對(duì)象充當(dāng)畫板的角色,位于底層;Figure對(duì)象充當(dāng)畫布的角色,它可以包含多個(gè)圖表,位于Canvas對(duì)象的上方,也就是用戶操作的應(yīng)用層的第一層;Axes對(duì)象充當(dāng)畫布中繪圖區(qū)域的角色,它擁有獨(dú)立的坐標(biāo)系,可以將其看作一個(gè)圖表,位于Figure對(duì)象的上方,也就是用戶操作的應(yīng)用層的第二層。Canvas對(duì)象、Figure對(duì)象、Axes對(duì)象的層次關(guān)系如圖1-33所示。

  需要說(shuō)明的是,Camvas對(duì)象無(wú)須用戶創(chuàng)建。Axes對(duì)象擁有屬于自己的坐標(biāo)系,它可以是直角坐標(biāo)系,即包含x軸和y軸的坐標(biāo)系,也可以是三維坐標(biāo)系(Axes的子類Axes3D對(duì)象),即包含x軸、y軸、z軸的坐標(biāo)系。

  2.圖像層

  圖像層是指繪圖區(qū)域內(nèi)繪制的圖形。例如,本節(jié)中使用plot()方法根據(jù)數(shù)據(jù)繪制的直線。

1662518404215_Canvas對(duì)象、Figure對(duì)象、Axes對(duì)象的層次關(guān)系.jpg

  圖1-33 Canvas對(duì)象、Figure對(duì)象、Axes對(duì)象的層次關(guān)系

  3.輔助顯示層

  輔助顯示層是指繪圖區(qū)域內(nèi)除所繪圖形之外的輔助元素,包括坐標(biāo)軸(Axis類對(duì)象,包括軸脊和刻度,其中軸脊是Spine類對(duì)象,刻度是Ticker類對(duì)象)、標(biāo)題(Text類對(duì)象)、圖例(Legend類對(duì)象)、注釋文本(Text類對(duì)象)等。輔助元素可以使圖表更直觀、更容易被用戶理解,但是又不會(huì)對(duì)圖形產(chǎn)生實(shí)質(zhì)的影響。

  需要說(shuō)明的是,圖像層和輔助顯示層所包含的內(nèi)容都位于Axes類對(duì)象之上,都屬于圖表的元素。

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!