本篇文章介紹matplotlib包使用時,需要掌握的一些基本概念。 下圖顯示了matplotlib圖形的基本構成部分,如figure(圖形)、axes(子圖形)、title(標題)、legend(圖例)、Major tick(大標尺刻度)、Minor tick(小標尺刻度)、Major tick label(大標尺刻度數值)、Minor tick label(小標尺刻度數值)、Y axis label(y軸指標說明)、X axis label(x軸指標說明)、Line(線型圖)、Markers(數據標註點)、Grid(格子)等等。除了圖中顯示的紅藍線型圖和散點圖,matplotlib還能繪製柱形圖、燭型圖、餅圖、3D圖形等等各種個性化圖形,將在後續文章一一介紹。
matplotlib圖形的幾個主要對象:
Figure對象整個圖形即是一個Figure對象。Figure對象至少包含一個子圖,也就是Axes對象。Figure對象包含一些特殊的Artist對象,如title標題、圖例legend。Figure對象包含畫布canvas對象。 canvas對象一般不可見,通常無需直接操作該對象,matplotlib程序實際繪圖時需要調用該對象。Axes對象字面上理解,axes是數據軸axis的複數,但它並不是指數據軸,而是子圖對象。可以這樣理解,每一個子圖都有x和y軸,axes則用於代表這兩個數據軸所對應的一個子圖對象。常用方法set_xlim()以及set_ylim():設置子圖x軸和y軸對應的數據範圍。set_title():設置子圖的標題。set_xlabel()以及set_ylable():設置子圖x軸和y軸指標的描述說明。Axis對象Axis是數據軸對象,主要用於控制數據軸上刻度位置和顯示數值。Axis有Locator和Formatter兩個子對象,分別用於控制刻度位置和顯示數值。Artist對象基本上所有的對象都是一個Artist對象,包括Figure對象、Axes對象和Axis對象,可以將Artist理解為一個基本類。當提交代碼,圖像最終呈現時,所有的artist對象都會繪製於canvas畫布上。
可能不少人看到這裡會有些暈,不過不要緊,這裡只需要粗略了解下matplotlib面向對象編程中涉及的一些基本對象,後面會有具體的例子來幫助理解。
小編目前使用的OSX系統,其中python版本為3.6.5、Matplotlib版本為3.0.0、編輯器為Sublime Text 3。
例1 :
圖形顯示如下
特別留意兩個標題,一個是figure's title,另一個是subplot 3's title。雖然現在子圖上沒有任何數據,但是通過這個圖形能一目了然figure和axes之間的關係。
後續將介紹如何在子圖上畫圖,歡迎關注。