這篇文章將為大家詳細(xì)講解有關(guān)matplotlib.pyplot與axes有什么關(guān)系,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
振興ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!1.通過plt.xxx()直接繪圖
就像各種教程和書上的常規(guī)操作一樣,我們可以用plt.plot(), plt.bar()等繪制不同類型的圖(部分總結(jié)如下表)
表一 plt中用于繪圖的部分函數(shù)
函數(shù)名 | 作用 |
---|---|
plt.bar() | 條形圖 |
plt.barh() | 橫排條形圖 |
plt.boxplot() | 箱線圖(plt.box()是另一個函數(shù)) |
plt.hist() | 頻率直方圖 |
plt.plot() | 折線圖 |
我們可以用plt
的其他一些函數(shù)來對圖表的標(biāo)題等進(jìn)行設(shè)置(部分總結(jié)如下表)
表二 plt中用于設(shè)置的部分函數(shù)
函數(shù)名 | 作用 |
---|---|
plt.title() | 設(shè)置圖表標(biāo)題 |
plt.grid() | 設(shè)置圖表網(wǎng)格 |
plt.xlabel();plt.ylabel | 設(shè)置x;y軸標(biāo)題 |
plt.xticks();plt.yticks() | 設(shè)置x;y軸刻度 |
plt.xlim();plt.ylim() | 設(shè)置x;y軸范圍 |
plt.annotate() | 設(shè)置標(biāo)注 |
(具體的參數(shù)和用法詳見 https://matplotlib.org/api/pyplot_summary.html )
用plt繪圖的方便之處,同樣也是它最令人迷惑的地方,就是它沒有一個顯性的對象。
我們甚至可以調(diào)用pandas繪圖以后,用表二中的plt函數(shù)來對pandas生成的這個圖表進(jìn)行設(shè)置。
例程如下:
import matplotlib.pyplot as plt from pandas import Series data = Series([1.47,1.62,1.78,1.94,2.38,2.60],index=['2012','2013','2014','2015','2016','2017']) #注意下一行的對象是'data',它是一個series對象,調(diào)用的是pandas繪圖函數(shù) data.plot(label='income', color = 'r', linestyle=':', marker = 's')#具體的pandas繪圖之后會細(xì)講 #但接下來我們甚至可以調(diào)用plt的函數(shù)對它進(jìn)行設(shè)置 plt.title('Income chart') plt.xlabel('Year') plt.ylabel('income') plt.annotate('Largest point',xy=(5,2.60),xytext=(3,2.5), arrowprops=dict(arrowstyle='->')) plt.show()
上面這個例子就展示了pyplot
(plt
)的特點(diǎn),不用指明對象就能進(jìn)行畫圖和設(shè)置,當(dāng)我們在同一個程序中的圖比較少的時候這是方便的,但當(dāng)我們同一個程序中的圖很多的時候,這種沒有顯性對象的方式會導(dǎo)致我們沒有辦法重新調(diào)用之前的圖(因?yàn)闆]有對象名)也會給人一種很不踏實(shí)的感覺。
2.實(shí)例化figure和axes對象后繪圖
就像前文提到的,plt
只是一個接口而不是對象。
在matplotlib中,有兩個重要的對象類型:figure
對象可以把它想成一張空白圖紙,在上面可以繪制一個或多個axes
對象(還可以有其他對象等)。axes
對象是一個圖像的主要部分(它包括了圖線、xy軸等部分)。
我們可以使用plt
接口生成figure
對象和axes
對象,然后對axes
對象調(diào)用方法來實(shí)現(xiàn)畫圖和設(shè)置。
總體思路是:
實(shí)例化figure對象
實(shí)例化axes對象
對axes對象調(diào)用方法進(jìn)行畫圖和設(shè)置
例程如下:
import matplotlib.pyplot as plt from pandas import Series data = Series([1.47,1.62,1.78,1.94,2.38,2.60],index=['2012','2013','2014','2015','2016','2017']) #調(diào)用plt接口,實(shí)例化figure1對象 figure1 = plt.figure(facecolor='w')#faceclolr設(shè)置背景顏色 #實(shí)例化ax1對象 ax1 = figure1.add_subplot(111)#ax1是figure1的第1行第一列的第1張圖表 #注意下一行的對象是'ax1',它是一個axes對象,調(diào)用的是matplotlib.axes繪圖函數(shù) ax1.plot(data,label='income', color = 'r', linestyle=':', marker = 's') #接下來我們調(diào)用ax1的方法對它進(jìn)行設(shè)置 ax1.set_title('Income chart') ax1.set_xlabel('Year') ax1.set_ylabel('income') ax1.annotate('Largest point',xy=(5,2.60),xytext=(3,2.5), arrowprops=dict(arrowstyle='->'))
用這種方式畫出來的圖,每一個對象都有它自己的名字,方便后面繼續(xù)調(diào)用、修改。代碼也就多了兩行實(shí)例化的過程,并沒有麻煩很多,個人很喜歡用這種方式畫圖(也給人一種很踏實(shí)的感覺)。
類比上面的表一和表二,給出對于axes對象的方法函數(shù)表:
表三 axes對象用于繪圖的部分方法函數(shù)
函數(shù)名 | 作用 |
---|---|
ax.bar() | 條形圖 |
ax.barh() | 橫排條形圖 |
ax.boxplot() | 箱線圖 |
ax.hist() | 頻率直方圖 |
ax.plot() | 折線圖 |
表四 axes對象中用于設(shè)置的部分方法函數(shù)
函數(shù)名 | 作用 |
---|---|
ax.set_title() | 設(shè)置圖表標(biāo)題 |
ax.set_xlabel(); ax.set_ylabel | 設(shè)置x;y軸標(biāo)題 |
ax.set_xticks(); ax.set_yticks() | 設(shè)置x;y軸刻度 |
ax.set_xlim(); ax.set_ylim() | 設(shè)置x;y軸范圍 |
ax.annotate() | 設(shè)置標(biāo)注 |
(具體的參數(shù)和用法詳見 https://matplotlib.org/api/axes_api.html )
注意表一和表三,表二和表四的異同:
表一表二中的plt
是固定的名字,不論畫什么都是plt.xxx()
,而表三和表四中ax.xxx()
中的ax
要改成你實(shí)例的對象名。
注意對比表二和表四,很多作用相同的東西,跑到了axes這里要多加一個set_
關(guān)于matplotlib.pyplot與axes有什么關(guān)系就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
新聞名稱:matplotlib.pyplot與axes有什么關(guān)系-創(chuàng)新互聯(lián)
當(dāng)前路徑:http://aaarwkj.com/article32/cchipc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、響應(yīng)式網(wǎng)站、微信小程序、定制網(wǎng)站、網(wǎng)站內(nèi)鏈、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容