對圖像組成不了解?這樣學習Matplotlib必走彎路!

在學習Matplotlib的過程當中,你們必定會遇到這樣那樣的問題,好比說,背景圖怎麼設置?座標軸怎麼設置?座標軸上的刻度值怎麼設置?怎樣在PyQt中添加Matplotlib繪圖模塊?微信

其實想要學好用好Matplotlib是特別簡單的,前提就是要必須清楚的瞭解Matplotlib圖像組成。函數

一般狀況下,咱們能夠將一副Matplotlib圖像分紅三層結構:工具

  1. 第一層是底層的容器層,主要包括Canvas、Figure、Axes;
  2. 第二層是輔助顯示層,主要包括Axis、Spines、Tick、Grid、Legend、Title等,該層可經過set_axis_off()或set_frame_on(False)等方法設置不顯示;
  3. 第三層爲圖像層,即經過plot、contour、scatter等方法繪製的圖像。

容器層

容器層主要由Canvas、Figure、Axes組成。學習

Canvas是位於最底層的系統層,在繪圖的過程當中充當畫板的角色,即放置畫布的工具。一般狀況下,咱們並不須要對Canvas特別的聲明,可是當我須要在其餘模塊如PyQt中調用Matplotlib模塊繪圖時,就須要首先聲明Canvas,這就至關於咱們在自家畫室畫畫不用強調要用畫板,出去寫生時要特地帶一塊畫板。3d

Figure是Canvas上方的第一層,也是須要用戶來操做的應用層的第一層,在繪圖的過程當中充當畫布的角色。當咱們對Figure大小、背景色彩等進行設置的時候,就至關因而選擇畫布大小、材質的過程。所以,每當咱們繪圖的時候,寫的第一行就是建立Figure的代碼。視頻

Axes是應用層的第二層,在繪圖的過程當中至關於畫布上的繪圖區的角色。一個Figure對象能夠包含多個Axes對象,每一個Axes都是一個獨立的座標系,繪圖過程當中的全部圖像都是基於座標系繪製的。對象

輔助顯示層

輔助顯示層爲Axes內的除了根據數據繪製出的圖像之外的內容,主要包括Axes外觀(facecolor)、邊框線(spines)、座標軸(axis)、座標軸名稱(axis label)、座標軸刻度(tick)、座標軸刻度標籤(tick label)、網格線(grid)、圖例(legend)、標題(title)等內容。blog

該層的設置可以使圖像顯示更加直觀更加容易被用戶理解,但又並不會對圖像產生實質的影響。繼承

圖像層

圖像層指Axes內經過plot、scatter、hist、contour、bar、barbs等函數根據數據繪製出的圖像。it

由此咱們能夠看出

  • Canvas位於最底層,用戶通常接觸不到
  • Figure創建在Canvas之上
  • Axes創建在Figure之上
  • 座標軸、圖例等輔助信息層以及圖像層都是創建在Axes之上

此外,對於輔助信息層和圖像層所包含的內容

  • 線型的對象均是繼承於Line2D的子類
  • 文字型的對象均是繼承於Text的子類
  • 相關設置都可參考父類的設置方法

想觀看Matplotlib教學視頻,瞭解更多Matplotlib實用技巧可關注

微信公衆帳號: MatplotlibClass

今日頭條號:Matplotlib小講堂

相關文章
相關標籤/搜索