一圖入門Matplotlib繪圖

Matplotlib是Python里可視化的基礎(chǔ)包,可以很方便地繪制二維,三維的圖表,作圖風(fēng)格接近MATLAB,所以稱為matplotlib。使用簡單的語句就能繪制漂亮的圖形。本篇我們來學(xué)習(xí)matplotlib圖表的組成元素。常用的一些繪圖組件和概念已經(jīng)展示在了文章開始的圖中。使用簡單的API就可以將該圖繪制出來。結(jié)合圖形,我們先解釋一些概念和基礎(chǔ)API,最后使用完整的代碼繪制這幅圖。后臺回復(fù)“繪圖”獲取本文完整代碼。
基礎(chǔ)概念
如圖形所示,我們對matplotlib操作時,是從Figure開始的,通常稱為畫布,類似于現(xiàn)實(shí)中繪圖時的畫板。在畫板上,我們可以繪制一幅和多幅圖形,這些圖形就是axes。所有的圖形元素,如坐標(biāo)軸,刻度線,標(biāo)簽,線條,標(biāo)記等都是在圖形實(shí)例之上的。在只有一個axes實(shí)例時,我們可以使用matplotlib.pyplot來操作這些圖形元素,“組成”一幅完整的圖。
常見圖表元素的使用方法
在繪圖之前,我們需要導(dǎo)入相應(yīng)的包:pyplot用于操作圖表元素,numpy用于生成繪圖需要的基礎(chǔ)數(shù)據(jù)。
import matplotlib.pyplot as pltimport numpy as np
對于圖表元素的使用,基本都是通過調(diào)用plt的函數(shù)來完成,調(diào)用時設(shè)置相應(yīng)的參數(shù)就能產(chǎn)生不同的效果。常見的一些函數(shù)總結(jié)如下:

下面來看一個簡單的示例,代碼和效果如下面所示:

在這個例子中,上面列出的函數(shù)幾乎都用到了。y是x的正弦函數(shù),上面代碼的效果分別為:繪制了一個y與x的線型關(guān)系,在最高點(diǎn)添加了帶箭頭的注釋,在線條旁邊添加了不帶箭頭的注釋,繪制了水平虛線,標(biāo)注了x軸標(biāo)簽,y軸標(biāo)簽,設(shè)置了橫坐標(biāo)的范圍,最后添加了標(biāo)題和圖例。
繪制文章開頭的圖
接下來我們進(jìn)一步使用上面的函數(shù),繪制文章開頭的圖形。圖中增加了spine,ticklabel,tickline等元素,并主要通過指向型和無指向型注釋,對各個元素進(jìn)行了說明,不僅便于理解和查閱,學(xué)習(xí)下面的代碼也能進(jìn)一步加深對matplotlib的理解。代碼和注釋如下:

運(yùn)行上面的代碼就可以繪制出這張圖了。需要注意:annotate進(jìn)行注釋只能在axes內(nèi)部,而text()函數(shù)可以在“任意”地方寫注釋。
python爬蟲人工智能大數(shù)據(jù)公眾號


