欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

matplotlib繪圖中pyplot和axes的特點(diǎn)

最近在學(xué)習(xí)數(shù)據(jù)可視化,梳理一下其中一些諸如pandas繪圖、matplotlib繪圖、pyplot(plt)、axes等概念。

創(chuàng)新互聯(lián)公司主營(yíng)南崗網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶APP軟件開發(fā),南崗h5成都微信小程序搭建,南崗網(wǎng)站營(yíng)銷推廣歡迎南崗等地區(qū)企業(yè)咨詢

很多書上一上來就直接import matplotlib.pypltot as plt,然后就教你plt.xxx()。這種方式固然沒錯(cuò),可問題就出在了plt只是一個(gè)interface,只是一個(gè)接口,連對(duì)象都算不上(仔細(xì)回想,你確實(shí)沒有實(shí)例化過任何一個(gè)名叫plt類型的對(duì)象)這給本來就對(duì)面向?qū)ο缶幊滩⒉缓苁煜さ奈規(guī)頍o窮無盡的困擾。plt這個(gè)接口的意義在于:

通過接口直接畫圖(這時(shí)候我們把這個(gè)接口看成一個(gè)黑盒,根本不要去管其中有些什么對(duì)象類型)

通過接口實(shí)例化別的類型的對(duì)象(如figure類型 axes類型等)

1.通過plt.xxx()直接繪圖

就像各種教程和書上的常規(guī)操作一樣,我們可以用plt.plot(), plt.bar()等繪制不同類型的圖(部分總結(jié)如下表)

表一 plt中用于繪圖的部分函數(shù)

函數(shù)名  作用

plt.bar()  條形圖

plt.barh()  橫排條形圖

plt.boxplot()  箱線圖(plt.box()是另一個(gè)函數(shù))

plt.hist()  頻率直方圖

plt.plot()  折線圖

我們可以用plt的其他一些函數(shù)來對(duì)圖表的標(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繪圖的方便之處,同樣也是它最令人迷惑的地方,就是它沒有一個(gè)顯性的對(duì)象。

我們甚至可以調(diào)用pandas繪圖以后,用表二中的plt函數(shù)來對(duì)pandas生成的這個(gè)圖表進(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'])

#注意下一行的對(duì)象是'data',它是一個(gè)series對(duì)象,調(diào)用的是pandas繪圖函數(shù)

data.plot(label='income', color = 'r', linestyle=':', marker = 's')#具體的pandas繪圖之后會(huì)細(xì)講

#但接下來我們甚至可以調(diào)用plt的函數(shù)對(duì)它進(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()

上面這個(gè)例子就展示了pyplot(plt)的特點(diǎn),不用指明對(duì)象就能進(jìn)行畫圖和設(shè)置,當(dāng)我們?cè)谕粋€(gè)程序中的圖比較少的時(shí)候這是方便的,但當(dāng)我們同一個(gè)程序中的圖很多的時(shí)候,這種沒有顯性對(duì)象的方式會(huì)導(dǎo)致我們沒有辦法重新調(diào)用之前的圖(因?yàn)闆]有對(duì)象名)也會(huì)給人一種很不踏實(shí)的感覺。

2.實(shí)例化figure和axes對(duì)象后繪圖

就像前文提到的,plt只是一個(gè)接口而不是對(duì)象。

在matplotlib中,有兩個(gè)重要的對(duì)象類型:figure對(duì)象可以把它想成一張空白圖紙,在上面可以繪制一個(gè)或多個(gè)axes對(duì)象(還可以有其他對(duì)象等)。axes對(duì)象是一個(gè)圖像的主要部分(它包括了圖線、xy軸等部分)。

我們可以使用plt接口生成figure對(duì)象和axes對(duì)象,然后對(duì)axes對(duì)象調(diào)用方法來實(shí)現(xiàn)畫圖和設(shè)置。

總體思路是:鄭州婦科醫(yī)院哪家好 https://yiyuan.120ask.com/zzfck/

實(shí)例化figure對(duì)象

實(shí)例化axes對(duì)象

對(duì)axes對(duì)象調(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對(duì)象

figure1 = plt.figure(facecolor='w')#faceclolr設(shè)置背景顏色

#實(shí)例化ax1對(duì)象

ax1 = figure1.add_subplot(111)#ax1是figure1的第1行第一列的第1張圖表

#注意下一行的對(duì)象是'ax1',它是一個(gè)axes對(duì)象,調(diào)用的是matplotlib.axes繪圖函數(shù)

ax1.plot(data,label='income', color = 'r', linestyle=':', marker = 's')

#接下來我們調(diào)用ax1的方法對(duì)它進(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='->'))

用這種方式畫出來的圖,每一個(gè)對(duì)象都有它自己的名字,方便后面繼續(xù)調(diào)用、修改。代碼也就多了兩行實(shí)例化的過程,并沒有麻煩很多,個(gè)人很喜歡用這種方式畫圖(也給人一種很踏實(shí)的感覺)。

類比上面的表一和表二,給出對(duì)于axes對(duì)象的方法函數(shù)表:

表三 axes對(duì)象用于繪圖的部分方法函數(shù)

函數(shù)名  作用

ax.bar()  條形圖

ax.barh()  橫排條形圖

ax.boxplot()  箱線圖

ax.hist()  頻率直方圖

ax.plot()  折線圖

表四 axes對(duì)象中用于設(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)注

注意表一和表三,表二和表四的異同:

表一表二中的plt是固定的名字,不論畫什么都是plt.xxx(),而表三和表四中ax.xxx()中的ax要改成你實(shí)例的對(duì)象名。

注意對(duì)比表二和表四,很多作用相同的東西,跑到了axes這里要多加一個(gè)set_

用實(shí)例化axes的方式畫圖很重要,因?yàn)槎嘧訄D的繪制更是需要依賴axes對(duì)象。

分享名稱:matplotlib繪圖中pyplot和axes的特點(diǎn)
文章地址:http://aaarwkj.com/article26/jejicg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、標(biāo)簽優(yōu)化云服務(wù)器、網(wǎng)站導(dǎo)航域名注冊(cè)、電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計(jì)公司
91美女人妻精品久久| 国产激情一区二区三区不卡| 亚洲中国av一区二区| 大香蕉一区二区亚洲欧美| 91精品日日躁夜夜躁欧美| 九色综合一区二区三区| 日韩一区二区中文字幕| 亚洲精品天堂av免费看| 精华国产一区二区三区| 蜜桃av网站免费观看| 久久精品国产av极品| 亚洲欧洲日韩另类在线| av二区不卡国产精品| 亚洲和欧洲一码二码区视频| 亚洲精品一级黄色片| 亚洲精品一区二区三区不卡| 最新国产不卡一区二区| 日韩中文字幕专区在线| 麻豆视频91免费观看| 国产精品亚洲国产精品| 91大神午夜在线观看| 日本成人在线播放网站| 中午字幕人妻少妇久久| 午夜影院在线观看网站| 九九国产精品免费视频| 国产美女主播视频一区二区三区| 亚洲夫妻性生活免费视频| 免费啪啪视频一区二区| 亚洲av毛片一区二区| 国产一区二区三区91精品| 亚洲一区二区三区四区五区六| 国产三级成人在线视频| 草草在线成年免费视频| 国产亚洲精品久在线| 久久国产欧美日韩精品免费| 国产真实老熟女无套内| 日本午夜免费在线视频| 日韩不卡区免费在线观看| 精品一区二区在线欧美日韩| 青青草成人一区二区三区| 亚洲综合久久精品少妇av|