matplotlib設置顏色、標記、線條,讓你的影像更加豐富

今天是數據處理專題的第11篇文章,我們繼續來介紹matplotlib這個包的使用方法。

在上一篇文章當中我們介紹了matplotlib當中subplot的概念以及用法,今天我們將會來介紹matplotlib繪圖中的一些具體的設置,可以讓我們畫出來的影像更加豐富,表現力也更強。

顏色

我們之前繪製的影像都是藍色的,這也是matplotlib的默認顏色。我們可以使用color這個參數來設置影像的顏色,比如我們想要畫原諒色的圖,我們就傳入color=’green’,這樣我們得到的影像就是綠色了。

由於綠色是很常見的顏色(大霧),所以我們沒必要輸入完整的green單詞,使用g作為縮寫就可以了。除了綠色之外,其他常用的顏色也一樣,比如紅色可以就寫成r,藍色寫成b,黃色寫成y等等。

相對來說這些常用顏色還是比較好記的,如果記不住也沒有關係,我們可以在jupyter當中通過plt.plot?這個命令來查閱相關的文檔。把文檔拉到最後,我們可以看到關於顏色設置的定義:

這裡有兩個顏色看起來不太常用,一個是cyan是青色,另外一個是magenta是品紅。說明老外對顏色的喜好和審美和我們國人還是有些差距的。

除了使用單詞之外,我們還可以使用16進位來表示顏色。比如#CECECE,表示一種淡淡的灰色。到底有多灰呢?我們畫出來就知道了。

16進位表示顏色是一種常見的方法,我們知道光的三原色是紅綠藍,也就是RGB。在電腦領域常用0-255這256個數字來表示某一個原色的強弱。通過三原色的不同組合,我們可以組合出所有的顏色。一共三種原色,那麼自然也就需要三個數字來表示,由於255以內的數字寫成16進位只有兩位,所以我們可以用6位16進位的數字來代表顏色。這也是電腦領域非常常見的顏色表示方法,像是前端CSS調色也是一樣的道理。

標記

下面要介紹的是標記,標記的目的是用來凸顯數據。plot默認畫出來的是一條光滑的曲線,雖然它其實也是將若干個數據點連起來畫成的。光滑的曲線有一個問題就是我們看不出來我們的樣本究竟是什麼,我們只看得到影像,不知道原始數據。

舉個例子,我們用隨機數據畫一個折線圖:

我們固然知道這個圖是由數據點連起來得到的,但是我們能準確得找到所有的數據點嗎?明顯還是比較困難的,因為我們不能判斷每一段看起來比值的線段之間存不存在數據點。

針對這個問題,我們可以使用標記,也就是在圖上把每個點都標出來。最常見的標記就是圓點,我們讓每一個樣本變成一個圓點,這樣就很直觀了。我們可以通過marker這個參數實現這一點,比如如果要畫圓點的話,我們傳入marker=’o’即可。

除了圓點之外,還有很多其他的方式,我們同樣可以查看plot的文檔獲得細節。

線條

最後一個可以訂製化的內容是線條,我們可以修改plot畫出來的線條種類。默認的當然是實線,既然有實線,那麼肯定也就有虛線。虛線有兩種一種是點虛線一種是全虛線。英文叫做dashed line 和dash-dot line。

線條通過參數linestyle來設置,我們先來看看全虛線,兩個短線表示全虛線。如果是一根短線表示實線,也就是默認的style。

image-20200902162013003
image-20200902162013003

除了虛線圖之外還有點線圖和點狀圖,這兩者顧名思義,大家應該不難猜出來。

三合一

我們回顧一下我們剛才介紹的,一共有三種特性,分別是標記、線條以及顏色。我們需要傳入三個參數來控制它們,怎麼說呢,從邏輯上來說這毫無問題。但操作起來還是有點麻煩,所以matplotlib的作者提供了一個三合一的方法,我們可以直接傳入一個參數把顏色、線條以及標記一起定義了

怎麼使用呢,我們可以在末尾傳入一個字元串,用這一個字元串涵蓋剛才介紹的三種參數。我們來看一個例子:

我們很容易看出來這張圖是一張綠色的,點狀標記的虛線圖。我們傳入的字元串是’og–‘,很明顯,o代表的是標記,g代表的是顏色green,–代表的是虛線。我們把這三個參數融合在了一個字元串當中。我們交換它們的順序,寫成go–也是一樣OK的。如果你不需要設置標記以及線條,也可以去掉一個,同樣可以運行。

但是這裡要注意,這裡的顏色只能使用縮寫,不支援其他的寫法。說白了這種方法只是用來書寫方便的,如果要追求實用性還是應該使用參數來設置。

我是承志,衷心祝願大家每天都有所收穫。如果還喜歡今天的內容的話,請不要吝嗇你的三連支援,它對我很重要。(點贊、關注、轉發

原文鏈接,求個關注

本文使用 mdnice 排版

– END –