1. 程式人生 > >視覺化學習筆記4:使用顏色

視覺化學習筆記4:使用顏色

使用顏色

顏色是設計視覺化圖表的重要工具,使你能夠表示另一個變數或對資料分組。但是,在選擇使用哪種顏色以及如何應用這些顏色時,需要考慮很多問題。首先,我將討論如何為要處理的資料選擇正確的調色盤。然後,我將討論如何考慮色盲人士。

請看看下面兩個關於 GDP 和預期壽命的圖表,瞭解下顏色的作用:

2010 年各國的人均 GDP 與預期壽命,可以看到基本上升趨勢。

GDP 與預期壽命,現在用顏色標註區域。可以輕鬆地看到不同區域的國家是如何分組的。

看到新增顏色後提供了大量額外的資訊。我們知道,GDP 越高,預期壽命就越長。但是,通過將各個國家所屬的區域用顏色標註,我們可以從此圖中看到不同型別的國家在全球的分佈情況。GDP 很低的國家幾乎都在撒哈拉以南非洲,很高的國家則是歐洲和北美。中間的橘色部分是獨立國家聯合體,即前蘇聯國家(如果你覺得該縮寫一開始沒明白的話,我也沒明白)。

顏色是視覺化過程中的重要工具,我們必須正確使用顏色,才能產生最大的影響。

調色盤

調色盤是指用來表示資料值的顏色範圍。對於定量和定性資料,你需要使用不同的調色盤。選擇正確的調色盤非常重要。例如,我們來看一個使用非常廣泛但是很糟糕的調色盤。(在這裡朝著 Jake VanderPlas 吼叫吧)。

在過去一段時間內,視覺化工具(例如 MATLAB 和 Python 的 matplotlib 庫)使用的預設調色盤是 jet。(幸運的是,二者都更新為了新的調色盤)。你可能還會聽到彩虹調色盤這一說法。jet 調色盤的顏色從深藍到深紅,然後一直變成綠色和黃色。我在下方提供了該調色盤的彩色版本和灰度模式,以顯示色譜和亮度。

jet/彩虹調色盤存在缺點,因為亮度並沒有從一端平滑地過渡到另一端。黃色比其餘顏色要亮很多,使某些資料顯的格外重要,實際上並非如此。與大片的綠色相比,黃色和藍綠色異常突出。從圖中可以看到 jet 調色盤的亮度,並不是平滑的漸變

Jet!

可以看出,從感官上來說,很短的藍綠色和黃色區域比其他區域要色彩強烈很多。這些區域的資料將被過於強調。通過檢視灰度版本,很明顯藍綠色和黃色區域比較突出是因為它們的亮度比其他部分要高。出現這種情況是因為我們的大腦對顏色的感知有所不同。與紅色相比,我們的眼睛對綠色更敏感,對紅色的敏感性又要比藍色高。所以在計算機螢幕上,255 的紅色比 255 的藍色看起來要亮。

可以從下面的示例中看到 jet 扭曲了我們對重要性的感知。

黃色和藍綠色區域的亮度達到峰值。

黃色和藍綠色區域比紅色和藍色區域要亮很多,並引人注目,但紅色和藍色區域實際上才是需要關注的(極端)部分。我們的大腦認為亮度越高的區域越重要。可以從灰度版本中看出,在黃色和藍綠色邊緣部分,亮度出現峰值。

相反,我們應該使用符合以下特徵的調色盤:亮度呈線性變化,並存在極端值,同時在顏色之間平滑過渡。下面我將使用一個從紅色變成淺黃色然後變成綠色的發散性調色盤。

發散性調色盤從紅色變成黃色再變成綠色

這個調色盤的正面區域和負面區域之間存在平滑過渡。

對於這個調色盤,色帶之間的過渡很平滑,紅色和綠色區域的亮度相等。通常,jet 調色盤是個不太好的選擇。我們應該選擇線性調色盤,如上所示。當前的大部分視覺化軟體都使我們能夠選擇調色盤,所以在用顏色設計視覺化圖表時,記住這一點。

連續性調色盤

線性亮度調色盤存在兩種基本型別:連續性調色盤和發散性調色盤(我在上面使用了,並且稍後將再次提到)。連續性調色盤的淺色到深色或深色到淺色之間的過渡很平滑。這種調色盤適合連續性資料,所有顏色都是正面的,所以低值用淺色表示,高值用深色表示(或者相反的模式)。下面是一個從淺紅色到深紅色的連續性調色盤示例。

從淺紅色到深紅色的連續性調色盤

你還可以使用色調和亮度都會變化的調色盤:

色調也變化的連續性調色盤

下圖是幾個高斯模型調色盤。

兩個高斯塊的連續性調色盤。

發散性調色盤

如果資料存在某些斷點,例如值從負數變成正數,經常適合使用發散性調色盤。發散性調色盤從一個顏色過渡到另一個顏色,經過一個淺色(或深色),亮度呈線性變化。你已經見過一個發散性調色盤,即從紅色變成綠色的調色盤。下面是更多的示例:

幾個發散性調色盤示例

下圖是對與之前相同的高斯模型應用顏色後的效果,但是一個是負數。我還提供了 jet 調色盤,使你能夠看到藍綠色和黃色如何在水泡周圍形成圓環,而在另一個調色盤中,這些顏色之間的過渡很平滑。

應用到高斯塊上的發散性調色盤。注意 jet 調色盤導致的缺陷。

定性資料的調色盤

對於定性資料,經常需要對比不同組或類別的資料。為此,你需要選擇肉眼看去儘量不同的顏色。I want hue是一款很棒的工具,可以最佳方式構建獨特的調色盤。我在下圖中建立了一個散點圖,表示鳶尾花樣本的花瓣長度和寬度。通過用不同的顏色標註各個物種,可以清晰地看出資料分成三個不同的群體。

收集的鳶尾花資料,根據物種標註顏色。

為色盲人士設計顏色

人類通過視網膜內的細胞(叫做視錐細胞)產生的訊號來識別顏色。光線進入眼睛,到達視錐細胞,視錐細胞向大腦傳送電子訊號。通常有三類視錐細胞:S(短波)、M(中波)和 L(長波)。它們對不同波長的光敏感。短波視錐細胞對藍色敏感,中波對綠色敏感,長波對紅色敏感。

但是,大約有 10% 的男性和 1% 的女性存在基因突變,影響到這些視錐細胞,產生色盲。最常見的色盲形式是紅綠色盲,通常是因為中波視錐細胞對光敏感性轉移到了紅色光線上,這種突變稱為綠色弱視。綠色弱視人群無法區分紅色和綠色,如下圖的紅色和綠色蘋果所示:

如果你是綠色弱視,那麼你看到的這兩個蘋果就是底下的兩種色彩。

實際上有很大一部分人群是色盲,所以在設計視覺化圖表時要考慮到這類人。避免使用紅綠調色盤,改為使用藍橙調色盤。