教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

問答>python+大數(shù)據(jù)開發(fā)>matplotlib繪制的圖形是只有一種結(jié)構(gòu)嗎?

matplotlib繪制的圖形是只有一種結(jié)構(gòu)嗎?

來源傳智教育2022年06月23日 18時(shí)03分38秒

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

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

  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-1所示。

  需要說明的是,Canvas對(duì)象無須用戶創(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)繪制的圖形。

三種對(duì)象的層次關(guān)系.jpg

  圖1-1 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ì)的影響。

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

和我們?cè)诰€交談!