使用matplotlib中會遇到選擇顏色的問題,很多人會覺得自帶的matlab風格的顏色不好看。好在Matplotlib已經預見到了這個問題,除了支持最基本的matlab傳統顏色之外,還支持很多種顏色的表達方式: RGB 或者 RGBA 浮點值元組,[0, 1]之間,例如(0.1, 0.2, 0.5 ...
使用matplotlib中會遇到選擇顏色的問題,很多人會覺得自帶的matlab風格的顏色不好看。好在Matplotlib已經預見到了這個問題,除了支持最基本的matlab傳統顏色之外,還支持很多種顏色的表達方式:
RGB 或者 RGBA 浮點值元組,
[0, 1]
之間,例如(0.1, 0.2, 0.5)
或者(0.1, 0.2, 0.5, 0.3)
。RGB 或者 RGBA 十六進位字元串,例如
#0F0F0F
或者#0F0F0F0F
。
[0, 1]
之間的浮點值的字元串表示,用於表示灰度,例如0.5
。
{'b', 'g', 'r', 'c', 'm', 'y', 'k', 'w'}
之一。X11/CSS4 顏色名稱。
XKCD 顏色之一,以
'xkcd:'
為首碼,例如'xkcd:sky blue'
。
{'C0', 'C1', 'C2', 'C3', 'C4', 'C5', 'C6', 'C7', 'C8', 'C9'}
之一。
{'tab:blue', 'tab:orange', 'tab:green', 'tab:red', 'tab:purple', 'tab:brown', 'tab:pink', 'tab:gray', 'tab:olive', 'tab:cyan'}
之一。這是 T10 調色板的 Tableau 顏色(預設的色相環)
在這篇文章中,作者提到的顏色表示法比較簡單,是上面提到的X11顏色描述法。在X11的wiki中也列出了所有顏色和對應的英文名稱:
另外要註意的是matplotlib中的顏色都是大小寫敏感的,wiki中提供的大寫顏色名稱並不一定能直接使用,而是要寫成小寫。
另一種直接使用現成顏色的方法是使用上面提到的xkcd顏色。在這個網站可以查到xkcd標簽所對應的顏色。說起來xkcd顏色的來源也是比較神奇,xkcd做了一個調查,調查用戶對於各種顏色的命名,最終得到了xkcd顏色名。因此xkcd顏色和X11顏色很多是不同的,相同的名字可能對應不同的顏色。matplotlib提供了一個對照表來對比這兩種體系的命名不同: