顏色和排版一樣,看似簡單,其實非常複雜,往大了說,涉及到藝術和品味,不像數學公式,物理定理那樣,是非分明。 但是,對 matplotlib 中的顏色有些基本的瞭解,可以讓繪出的圖形顏色不至於太突兀。 雖不能說選出完美的顏色搭配,至少是看著舒服,醒目的顏色搭配。 顏色的種類 顏色一般用 RGB 來表示 ...
顏色和排版一樣,看似簡單,其實非常複雜,往大了說,涉及到藝術和品味,不像數學公式,物理定理那樣,是非分明。
但是,對 matplotlib 中的顏色有些基本的瞭解,可以讓繪出的圖形顏色不至於太突兀。
雖不能說選出完美的顏色搭配,至少是看著舒服,醒目的顏色搭配。
顏色的種類
顏色一般用 RGB 來表示,顏色空間主要有3種:
- RGB
- sRGB
- Lab
3種顏色空間都可以用 6位的16進位表示,只是顯示出來的有些微的差別,在繪圖時,一定要確定好自己用的是哪個顏色空間。
matplotlib 有預設的10個顏色和20個顏色,繪圖時如果不指定顏色,那麼就會用預設用這些顏色。
下麵的代碼可以列印出預設顏色:
import matplotlib.pyplot as plt
import matplotlib.colors as colors
cmap10 = plt.get_cmap("tab10")
cmap20 = plt.get_cmap("tab20")
[colors.to_hex(cmap10(i)) for i in range(10)]
[colors.to_hex(cmap20(i)) for i in range(20)]
顏色的運用
一般來說,顏色的運用根據數據的情況來定。
序列性質的數據
比如按照年份變化的數據,在折線圖中使用單一顯眼的顏色即可。
像紅色,藍色等這種和背景區分比較明顯的顏色都行。
多個折線一起展示的時候,選擇區分較大的顏色。
分組比較的數據
對於這種數據,不同組之間的數據用區分較大的顏色。同組內的數組可以用相同色系的漸變色來顯示。
結合地理信息相關的數據
類似的這類數據一般是定性展示,不像上面2種數據需要在Y軸嚴格定量。
比如結合地理信息展示降水的情況,通過顏色的深淺來表示降水的是多少,從圖上可以一目瞭然哪裡的降水量比較大。
總結
總之,顏色的選擇就像排版一樣,沒有一定的法則,平時積累,多留心觀察別人繪製的圖形很重要。
看到比較清晰的圖,好的展示方式,記錄下來,嘗試應用應用,培養出繪圖的感覺,慢慢就可以繪製出有自己特色的圖。