matplotlib設(shè)置坐標(biāo)軸標(biāo)簽和間距的實(shí)現(xiàn)
我們今天繼續(xù)matplotlib作圖教程。
在上周的文章當(dāng)中我們介紹了如何通過xlabel和ylabel設(shè)置坐標(biāo)軸的名稱,以及這兩個(gè)函數(shù)的花式設(shè)置方法,可以設(shè)置出各種各樣的名稱顯示方法。今天我們來介紹介紹其他的設(shè)置。
xlim、ylim
我們首先來介紹坐標(biāo)軸的范圍,坐標(biāo)軸的范圍很好理解,有的時(shí)候我們產(chǎn)出的數(shù)據(jù)的范圍可能并不是完全我們想要的。如果我們不對(duì)坐標(biāo)軸的范圍進(jìn)行設(shè)置的話,那么matplotlib默認(rèn)會(huì)按照我們數(shù)據(jù)的范圍來自動(dòng)選擇它認(rèn)為最合適的區(qū)間來展示所有的數(shù)據(jù)。
舉一個(gè)很簡(jiǎn)單的例子,假設(shè)我們想要在-10到10的區(qū)間里畫一張拋物線的圖像。這個(gè)圖像的繪制方法我想大家應(yīng)該都已經(jīng)非常熟悉了:

由于x的范圍是-10到10,那么y對(duì)應(yīng)的范圍應(yīng)該就是[0, 100]。這些應(yīng)該都不難理解,但是假如我們雖然數(shù)據(jù)非常全面是[-10, 10]這個(gè)范圍內(nèi)的,但是我們僅僅想要展示[-3, 3]這個(gè)區(qū)間,那應(yīng)該怎么辦?這個(gè)時(shí)候我們就可以使用xlim這個(gè)函數(shù)來設(shè)置x軸的范圍,但是需要注意的是,我們?cè)谡{(diào)用xlim的時(shí)候只是限制了x軸的結(jié)果,并沒有限制y軸。所以畫出來y軸的范圍還是之前數(shù)據(jù)的范圍,這樣看起來會(huì)顯得有一點(diǎn)奇怪,圖像會(huì)是這樣的:

解決的辦法也很簡(jiǎn)單,就是再設(shè)置ylim的范圍,將ylim的范圍也設(shè)置到剛好可以比較合適地展示數(shù)據(jù)。比如在這個(gè)例子當(dāng)中,ylim設(shè)置成[0, 30]或者是[-5, 25]都非常合適。
關(guān)于xlim和ylim官方還提供一些其他的參數(shù),大家感興趣可以查閱相關(guān)文檔,建議大家沒必要浪費(fèi)這個(gè)時(shí)間,因?yàn)閷?shí)在是用不到。甚至連用到xlim和ylim的情況都不多。
xticks、yticks
如果說前面xlim和ylim看起來有一種好像有點(diǎn)用,但是又不知道什么時(shí)候能用上的話,那么這一段要介紹的xtick和ytick就屬于非常有用,不容錯(cuò)過的那種。這也不是我吹,因?yàn)楹瓦@兩個(gè)函數(shù)比起來前面介紹的xlim和ylim真的就只是個(gè)弟弟。
xlim能夠設(shè)置的基本上只有坐標(biāo)軸的范圍,而xticks和yticks既可以設(shè)置范圍也可以設(shè)置每個(gè)刻度之間的間距。還用剛才拋物線的例子舉例,在剛才的例子當(dāng)中,我們x軸的范圍是[-10, 10]。在默認(rèn)的圖像當(dāng)中,系統(tǒng)幫我們選擇的間距是2.5,即每隔2.5畫一個(gè)坐標(biāo)點(diǎn),一共畫8個(gè)。
而通過xticks我們可以自己設(shè)置坐標(biāo)點(diǎn)的間隔以及數(shù)量,比如假設(shè)我們想要x軸每間隔5畫一個(gè)坐標(biāo)點(diǎn),我們可以這么來設(shè)置:

我們直接在xticks當(dāng)中放入了一個(gè)list,最后我們畫出來的圖像的x軸就是根據(jù)這個(gè)list進(jìn)行劃分的。也就是說我們不僅可以定義坐標(biāo)軸的范圍,還可以定義它的間隔。有的時(shí)候,自動(dòng)繪制出來的圖像的范圍以及間隔可能沒有那么好,需要我們進(jìn)行調(diào)整,這時(shí)候就需要用到xticks和yticks函數(shù)了。
除了設(shè)置間隔和范圍之外,xticks還可以設(shè)置標(biāo)簽以及標(biāo)簽的旋轉(zhuǎn)角度。我們同樣來看一個(gè)例子,在這個(gè)例子當(dāng)中,我們會(huì)把上圖當(dāng)中x軸的數(shù)字轉(zhuǎn)成英文單詞,并且將這些單詞旋轉(zhuǎn)30度。

我們生活當(dāng)中經(jīng)常看到的一種圖表就是某公司的業(yè)績(jī)銷售表,或者是增長曲線表。這種表都有一個(gè)特點(diǎn),就是它的x軸是月份,這樣我們就可以很清楚地看到每個(gè)月的銷售數(shù)據(jù),可以對(duì)未來進(jìn)行預(yù)期以及指引。在沒有學(xué)會(huì)xticks函數(shù)用法之前,可能會(huì)覺得這是非常不容易的一件事,但有了xticks之后其實(shí)非常地簡(jiǎn)單:

現(xiàn)在如果老板讓你去做一張?jiān)露葦?shù)據(jù)報(bào)表,你應(yīng)該知道怎么做了吧?可以不用再用Excel了,用matplotlib幾行代碼就搞定了。這也是現(xiàn)在各大培訓(xùn)班廣告里吹噓的內(nèi)容,你看我已經(jīng)免費(fèi)教給你了。
總結(jié)
我們簡(jiǎn)單回顧一下今天介紹的內(nèi)容,一個(gè)是用來限制坐標(biāo)軸范圍的xlim和ylim,另外一個(gè)是可以自定義整個(gè)坐標(biāo)軸間隔以及范圍,甚至還可以更換名稱的xticks、yticks。從表面上來看xlim能做的事情xticks也都可以實(shí)現(xiàn),但實(shí)際上這兩者的應(yīng)用場(chǎng)景其實(shí)是不同的,xlim的使用場(chǎng)景是當(dāng)我們想要放大或者縮小圖像的時(shí)候,使用xlim只需要傳入上下界,而如果使用xticks則還需要指定間隔、生成一個(gè)list才可以,其實(shí)是有些冗余的操作。
所以這兩者的應(yīng)用有重疊的部分,但是應(yīng)用場(chǎng)景其實(shí)還是不一樣的。當(dāng)然如果你想要偷懶只想學(xué)一個(gè)的話,那么xticks的確已經(jīng)足夠了。
相關(guān)文章
python入門for循環(huán)嵌套理解學(xué)習(xí)
這篇文章主要介紹了python入門關(guān)于for循環(huán)嵌套的理解學(xué)習(xí),希望大家可以學(xué)會(huì)并運(yùn)用到日常工作中,有需要的朋友可以借鑒參考下,希望能夠有幫助2021-09-09
python實(shí)現(xiàn)linux服務(wù)器批量修改密碼并生成execl
這篇文章主要介紹了python實(shí)現(xiàn)linux服務(wù)器批量修改密碼并生成execl示例,需要的朋友可以參考下2014-04-04
python Tornado事件循環(huán)示例源碼解析
這篇文章主要為大家介紹了python Tornado事件循環(huán)示例源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09

