matplotlib畫圖教程,設定座標軸標籤和間距

TechFlow2019發表於2020-10-15

大家好,歡迎來到週四資料處理專題,我們今天繼續matplotlib作圖教程。

在上週的文章當中我們介紹瞭如何通過xlabel和ylabel設定座標軸的名稱,以及這兩個函式的花式設定方法,可以設定出各種各樣的名稱顯示方法。今天我們來介紹介紹其他的設定。

xlim、ylim

我們首先來介紹座標軸的範圍,座標軸的範圍很好理解,有的時候我們產出的資料的範圍可能並不是完全我們想要的。如果我們不對座標軸的範圍進行設定的話,那麼matplotlib預設會按照我們資料的範圍來自動選擇它認為最合適的區間來展示所有的資料。

舉一個很簡單的例子,假設我們想要在-10到10的區間裡畫一張拋物線的影像。這個影像的繪製方法我想大家應該都已經非常熟悉了:

由於x的範圍是-10到10,那麼y對應的範圍應該就是[0, 100]。這些應該都不難理解,但是假如我們雖然資料非常全面是[-10, 10]這個範圍內的,但是我們僅僅想要展示[-3, 3]這個區間,那應該怎麼辦?這個時候我們就可以使用xlim這個函式來設定x軸的範圍,但是需要注意的是,我們在呼叫xlim的時候只是限制了x軸的結果,並沒有限制y軸。所以畫出來y軸的範圍還是之前資料的範圍,這樣看起來會顯得有一點奇怪,影像會是這樣的:

解決的辦法也很簡單,就是再設定ylim的範圍,將ylim的範圍也設定到剛好可以比較合適地展示資料。比如在這個例子當中,ylim設定成[0, 30]或者是[-5, 25]都非常合適。

關於xlim和ylim官方還提供一些其他的引數,大家感興趣可以查閱相關文件,建議大家沒必要浪費這個時間,因為實在是用不到。甚至連用到xlim和ylim的情況都不多。

xticks、yticks

如果說前面xlim和ylim看起來有一種好像有點用,但是又不知道什麼時候能用上的話,那麼這一段要介紹的xtick和ytick就屬於非常有用,不容錯過的那種。這也不是我吹,因為和這兩個函式比起來前面介紹的xlim和ylim真的就只是個弟弟。

xlim能夠設定的基本上只有座標軸的範圍,而xticks和yticks既可以設定範圍也可以設定每個刻度之間的間距。還用剛才拋物線的例子舉例,在剛才的例子當中,我們x軸的範圍是[-10, 10]。在預設的影像當中,系統幫我們選擇的間距是2.5,即每隔2.5畫一個座標點,一共畫8個。

而通過xticks我們可以自己設定座標點的間隔以及數量,比如假設我們想要x軸每間隔5畫一個座標點,我們可以這麼來設定:

我們直接在xticks當中放入了一個list,最後我們畫出來的影像的x軸就是根據這個list進行劃分的。也就是說我們不僅可以定義座標軸的範圍,還可以定義它的間隔。有的時候,自動繪製出來的影像的範圍以及間隔可能沒有那麼好,需要我們進行調整,這時候就需要用到xticks和yticks函式了。

除了設定間隔和範圍之外,xticks還可以設定標籤以及標籤的旋轉角度。我們同樣來看一個例子,在這個例子當中,我們會把上圖當中x軸的數字轉成英文單詞,並且將這些單詞旋轉30度。

我們生活當中經常看到的一種圖表就是某公司的業績銷售表,或者是增長曲線表。這種表都有一個特點,就是它的x軸是月份,這樣我們就可以很清楚地看到每個月的銷售資料,可以對未來進行預期以及指引。在沒有學會xticks函式用法之前,可能會覺得這是非常不容易的一件事,但有了xticks之後其實非常地簡單:

現在如果老闆讓你去做一張月度資料包表,你應該知道怎麼做了吧?可以不用再用Excel了,用matplotlib幾行程式碼就搞定了。這也是現在各大培訓班廣告裡吹噓的內容,你看我已經免費教給你了。

總結

我們簡單回顧一下今天介紹的內容,一個是用來限制座標軸範圍的xlim和ylim,另外一個是可以自定義整個座標軸間隔以及範圍,甚至還可以更換名稱的xticks、yticks。從表面上來看xlim能做的事情xticks也都可以實現,但實際上這兩者的應用場景其實是不同的,xlim的使用場景是當我們想要放大或者縮小影像的時候,使用xlim只需要傳入上下界,而如果使用xticks則還需要指定間隔、生成一個list才可以,其實是有些冗餘的操作。

所以這兩者的應用有重疊的部分,但是應用場景其實還是不一樣的。當然如果你想要偷懶只想學一個的話,那麼xticks的確已經足夠了。

今天的文章就到這裡,衷心祝願大家每天都有所收穫。如果還喜歡今天的內容的話,請來一個三連支援吧~(點贊、關注、轉發

原文連結,求個關注

本文使用 mdnice 排版

- END -

相關文章