史上最全的圖表色彩運用原理
溫馨提示:正文共6230字,預計閱讀16分鐘
前言
本部分內容已經收錄在我即將出版的新書《R語言數據可視化之美》,更多精彩內容敬請期待!
這是我花了一個月參考各種資料研究總結得到,自認為總結的最為全面的圖表色彩運用原理!數據可視化除了圖表類型的選擇尤為重要外,圖表的顏色主題搭配也是特別重要的。
所以,現在把我總結的資料推送給大家,一方面是希望也能幫助大家,另一方面也希望有經驗的同學多多提看法,我總結的資料並不全準確,希望諸位能多多提意見,不僅能對其中的錯誤進行修正,還能提出某些論文圖表必備的內容以完善該博文。
謝謝!
我的名言就是:初生牛犢不要臉。望大家多多包涵!
張傑
1.1 RGB顏色模型
我們先從顏色模型開始講解學術圖表的色彩運用原理。在圖像處理中,最常用的顏色空間是RGB模型,常用於顏色顯示和圖像處理。RGB 顏色模型使用了顏色成分紅(Red)、綠(Green)和藍(Blue)來定義所給顏色中紅色、綠色和藍色的光的量。在24點陣圖像中,每一顏色成分都由0到255之間的數值表示。在位速率更高的圖像中,如48點陣圖像,值的範圍更大。這些顏色成分的組合就定義了一種單一的顏色。RGB顏色模型採用三維坐標的模型形式,非常容易被理解,如圖1-1(a)所示:原點到白色頂點的中軸線是灰度線,R、G、B三分量相等,強度可以由三分量的向量表示。我們可以用RGB來理解色彩、深淺、明暗變化:
(1) 色彩變化:三個坐標軸RGB最大分量頂點與黃紫青YMC色頂點的連線;
(2) 深淺變化:RGB頂點和CMY頂點到原點和白色頂點的中軸線的距離;
(3) 明暗變化:中軸線的點的位置,到原點,就偏暗,到白色頂點就偏亮。
RGB模型也稱為加色法混色模型。它是以RGB三色光互相疊加來實現混色的方法,因而適合於顯示器等發光體的顯示。其混色規律是:以等量的紅、綠、藍基色光混合時。我們平時在繪圖軟體中調整顏色主要就是通過修改RGB顏色的三個數值,如圖1-2(b) Windows 系統自帶的選色器的右下角所示。
圖1-1 顏色模型對比
1.2 HSB顏色模型
大家平時在顏色選擇中還會遇到一種顏色模型:HSB,在這裡也給大家做簡要的介紹。HSB 色彩模式是基於人眼的一種顏色模式,是普及型設計軟體中常見的色彩模式。,其中
(1) 色相H ( Hue ):在0~360°的標準色環上,按照角度值標識。比如紅是0°、橙色是30°等,如
(2) 飽和度S ( saturation ):是指顏色的強度或純度。飽和度表示色相中彩色成分所佔的比例,用從0%(灰色)~100%(完全飽和)的百分比來度量。在色立面上飽和度是從左向右逐漸增加的,左邊線為0%,右邊線為100%,如:
(3) 亮度B ( brightness ):是顏色的明暗程度,通常是從0(黑)~100%(白)的百分比來度量的,在色立面中從上至下逐漸遞減,上邊線為100%,下邊線為0% ,如:
HSB有時也作HSV(色相(Hue)、飽和度(Saturation)、色調(Value ))、HSL(色相(Hue)、飽和度(Saturation)、L(lightness))。比起 RGB 系統,HSB 使用了更貼近人類感官直覺的方式來描述色彩,可以指導設計者更好地搭配色彩,會在色彩搭配中經常用到,如圖1-2 所示。
(a)Microsoft Office默認的選色器
(b) Windows 系統自帶的選色器
圖1-2 HSB的應用場景
平時我們顏色參考的色輪(色相輪)就是來源於HSB、HSL顏色模型或Luv顏色模型。Rggplot2包繪圖默認的顏色主題方案如圖1-3所示,色輪為Luv顏色模型。LUV色彩空間全稱CIE1976(L*,u*,v*)(也作CIELUV)色彩空間,L*表示物體亮度,u*和v*是色度。於1976年由國際照明委員會(InternationalCommission on Illumination)提出,由CIE XYZ空間經簡單變換得到,具視覺統一性。類似的色彩空間有CIELAB。對於一般的圖像,u*和v*的取值範圍為-100到+100,亮度為0到100。
圖1-3 R ggplot2默認顏色主題
(Acolour wheel illustrating the choice of five equally spaced colours. This isthedefault scale for discrete variables.)
配色網(http://www.peise.net)就是基於顏色搭配原理設計的顏色主題方案自動生成在線網站。它不僅基於常用的場景給出合適的配色方案,而且還允許用戶使用配色工具自行配置出極具個人風格又不失美觀的方案,功能完備且實用。色彩搭配基本理論方法除了圖1-5所說的三種外,還有:類似色搭配(Analogous)、分裂互補色搭配(Split complement)、矩形搭配(Rectangle (tetradic))和正方形搭配(Square)等。(更多色彩搭配理論:(http://www.tigercolor.com/color-lab/color-theory/color-harmonies.htm )。
圖1-4 配色網推出的高級配色工具(http://www.peise.net/tools/web/)
色環又稱作為色輪,是種按照色相把色綵排列的呈現方式。當我們開始進行色環排列時,需要把原色按照等距關係排列,如圖1-5 的12色5輪色輪所示。
1.單色搭配(Monochromatic):這是一種色相由暗、中、明三種色調組成。這就是單色。單色搭配上並沒有形成顏色的層次,但形成了明暗的層次。這種搭配在設計中應用時,出來的效果永遠不錯,其重要性也可見一斑。
2.補色搭配(Complement):如果顏色方案只包括兩種顏色,就會選擇色環上對立的2個顏色(在色輪上直線相對的兩種顏色稱為補色,比如紅色和綠色),如圖(b)所示。互補色搭配在正式的設計中比較少見,主要由於它色彩之間強烈對比所產生的特殊性和不穩定,但是很顯然的是,在各種色相搭配中,互補色搭配無疑是一種最突出的搭配,所以如果你想然你的作品特別引人注目,那互補色搭配或許是種最佳選擇。
3.三角形搭配(Triad):如果顏色方案只包括三種顏色,那麼就會以120°的間隔選擇3個顏色,如圖(c)所示。三角形搭配是種能使得畫面生動的搭配方式,即使使用了低飽和度的色彩。在使用三角形搭配的時候一定要選出一種色彩作為主色,另外兩種作為輔助色。
以此類推,就得到了圖1-3 R ggplot2默認顏色主題方案。
(a)單色搭配(Monochromatic);
(b)補色搭配(Complement);
(c)三角形搭配(Triad)
圖1-5 三種不同顏色選擇的色相環
1.3 顏色主題的搭配原理
我們對相同的數據圖表對比不同的顏色效果,如圖1-6帶散點分布的箱型圖所示。(a)-(c)的顏色主題方案分別對應的軟體為Excel、Origin和R (ggplot2),圖(c)使用的就是圖1-3 所示的4種顏色的顏色主題方案。所謂「人靠衣裝,佛靠金裝」,符合美學規律設計的顏色主題方案往往能很大程度上提高圖表的美觀程度,如圖(c)所示。所以,我們很有必要研究與講解顏色主題方案的搭配。
(a)Excel默認顏色主題;
(b)Origin默認顏色主題;
(c) R ggplot2默認顏色主題
圖1-6 不同顏色主題的圖表效果
R語言作為經典的數據可視化語言,很大的優勢就在於它的包(如經典的RColorBrewer包)提供了豐富的顏色主題方案,如圖1-7所示。Origin 2017、Python(Seaborn包)等繪圖軟體都有參考與引入改顏色主題方案。該顏色主題方案主要可以分成三大類:單色系、多色系和雙色漸變系(這個分類會在後文中詳細說明)。或許你不知道,其實RColorBrewer包的顏色主題方案系列來源於一個顏色主題方案搭配網站:ColorBrewer 2.0 (http://colorbrewer2.org/#type=sequential&scheme=BuGn&n=3),如圖1-7-2所示。該網站提供了大量的顏色搭配主題方案,可以供用戶學習與使用。強烈建議大家登陸這個網站,自己操作與觀看這裡面的配色方案,由於版面有限不能全面地介紹ColorBrewer 2.0配色的各個系列與功能。從另一個角度說,可以將圖1-7看成ColorBrewer 2.0網頁顏色主題系列方案的精華版。
圖1-7 RColorBrewer包的顏色主題方案
(https://github.com/timothyrenner/ColorBrewer.jl)
圖1-7-2 ColorBrewer2.0網頁界面
(http://colorbrewer2.org/#type=sequential&scheme=BuGn&n=3)
ColorBrewer 2.0的配色功能如此強大,它的顏色搭配原理又是什麼樣呢?其實,它的原理如圖1-8所示:通過排列組合實現二值色系、單色系、雙色漸變系和多色系等顏色主題方案。其中,最為常用的三種顏色搭配方法如圖1-9所示。圓形分布的多色系(circular color systems)是一類特殊的多色系配色方案,如Python Seabron包的hls顏色主題方案。這類顏色方案適合時間類的周期性數據,如小時、天、月、年等有關的時序數據。
圖1-8 圖表繪製的顏色搭配原理
(http://www.personal.psu.edu/cab38/ColorSch/Schemes.html)
圖1-9 圖表繪製的顏色搭配三原則
1.4 學術圖表的顏色主題
我們畢竟不是專業的設計師,專業的設計師懂的自己根據配色原理與色相輪搭配顏色。如果自己配色,既費時費力,也不一定達到美觀的效果。幸好,圖1-3和1-7提供了諸多顏色主題方案供大家參考與使用。另外,R語言Wesanderson包、PythonSeaborn包和Colorbrewer2網頁也提供了一系列新的顏色主題方案。
尤其需要強調的是R語言ggsci包提供了幾個經典期刊的推薦顏色主題方案,包括《Nature》、《Science》等學術期刊。但是,這並不是說投稿這些期刊必須使用這些配色方案,而是說推薦使用,當然你可以選擇使用其他顏色主題方案。所以,這些羅列了這麼多顏色主題方案,畢竟「蘿蔔白菜,各有所愛」你只要選擇1~2種自己喜歡的,然後就可以應用到自己繪製的學術圖表中。
當你問我這幅圖表使用哪個顏色主題方案比較美觀的時候,我也沒法確定。實踐出真知。另外,由於不同的數據與圖表,可能自己要多嘗試不同的顏色主題方案,才能找出哪個顏色主題適合這幅圖表。
Wesanderson包:https://github.com/karthik/wesanderson
Python Seabron包: http://seaborn.pydata.org/tutorial/color_palettes.html
Colorbrewer2:http://colorbrewer2.org/#type=qualitative&scheme=Set2&n=8
ggsci包:https://cran.r-project.org/web/packages/ggsci/vignettes/ggsci.html
1.5 顏色方案的拾取使用
剛剛提供給大家這麼多顏色主題方案,怎麼使用呢?在繪圖軟體中修改顏色,一般是通過RGB數值設定。這時候,我們就需要獲取顏色方案中每個顏色RGB數值或者Hex顏色碼,其可以通過以下幾種方式獲得相關顏色數值:
手動調整數據系列的RGB顏色值有時候覺得還是很麻煩,其實還有一種利用取色器的便捷方法,如PPT和AI軟體都有取色器,但是Excel、Origin等繪圖軟體沒有取色器。
對於Excel繪製的圖表,可以將圖表複製到PPT中,然後使用取色器,拾取自己想要的顏色主題方案的顏色。
對於Origin、R等繪圖軟體的圖表,可以導出svg、eps等矢量格式的圖片,然後使用AI軟體打開後:1. 選擇圖片,選擇「對象(O)」-「剪切蒙版(M)」-「釋放(R)」;2. 在選擇圖片「對象(O)」-「複合路徑(O)」-「釋放(R)」;3.選擇要修改的圖表元素,然後使用取色器調整「填充」和「描邊(邊框)」顏色;4.導出相應的標量格式的圖片,同時設定好圖片的解析度。
1.6 顏色主題的應用案例
關於顏色的基礎知識講解這麼多,所謂「實踐出真知」,這裡帶大家一起來應用各個顏色主題方案,提升圖表的美觀性。對於多色系顏色方案的應用,大家很容易使用:直接選擇一個顏色主題方案,然後修改數據系列的顏色,如圖1-4所示。但是對於單色系和雙色漸變系的顏色主題方案的應用,大家可能不是那麼容易適應。所以,現在重點給大家講解單色系和雙色漸變系的顏色主題方案的應用。
圖1-10(a)是使用Excel 繪製的默認多色系顏色方案的帶誤差線柱形圖,圖(b)是使用單色系顏色方案(藍色系列:
)改進的《Science》期刊上的圖表。雖然數據是類別型,但是使用單色系顏色主題方案更加美觀。
(a)Excel多色系顏色方案;(b)單色系顏色方案
圖1-10 柱形圖的單色系顏色方案的應用
圖1-11(a)是使用Excel 繪製的默認多色系顏色方案的曲線散點圖,圖(b)是使用單色系顏色方案(橙色系列:
)改進的曲線散點圖,單色系顏色主題方案就是根據數據系列的數值類別設定,亮度隨數值從低到高,如圖例所示。圖(c)是使用單色系顏色方案再改進的曲線圖,省去散點數據標記,只留下曲線以暫時數據系列的規律。
(a) Excel多色系顏色方案的散點圖曲線圖; (b)單色系顏色方案的散點曲線圖;(c)單色系顏色方案的曲線圖
圖1-11 散點曲線圖的單色系顏色方案的應用
圖1-11-2(a)是使用紅色和藍色兩種不同顏色表示相關係數的數值,藍色表示負值,圓圈越大表示負相關越大,紅色表示正值,圓圈越大表示正相關越大。但是當時有雙色漸變系顏色主題(
)改進圖表,如圖(b)所示:藉助圓圈填充顏色的深淺和圓圈的大小兩個視覺暗示,更加清晰地表達了數據,更便於讀者觀察數據之間的關係。中間白色對應數值就是相關係數的分界點0。
(a) R多色系顏色方案;(b)雙色漸變系顏色方案
圖1-11-2 相關係數圖的雙色漸變系顏色方案的應用
圖1-12為時間序列的柱形圖,圖(a)使用藍色填充柱形數據系列,僅僅使用長度視覺暗示表達數據。但是當時有雙色漸變系顏色主題(
)改進圖表,如圖(b)所示:中間白色對應數值就是相關係數的分界點溫度0,當溫度越高,紅色更深;當溫度越低,藍色更深。藉助柱形顏色的深淺和長度兩個視覺暗示,更加清晰地表達了數據,更便於讀者觀察時序數據的變化規律。
(a) R多色系顏色方案;(b)雙色漸變系顏色方案
圖1-12 時間序列柱形圖的雙色漸變系顏色方案的應用
(a) R多色系顏色方案
(b)雙色漸變系顏色方案
圖1-13 條形圖的雙色漸變系顏色方案的應用
我們平時繪製圖表除了要注意顏色主題外,同時還要注意顏色的透明度(Transparency)。顏色的透明度也是一個重要的設置參數,尤其再處理數據系列之間的遮擋問題特別有效。繪圖軟體中基本都有顏色透明度的設定參數。顏色透明度的設定還是適合於高密度散點圖的繪製,通過顏色深淺可以觀察數據的分布情況。
(a)設置透明度前; (b)設置透明度後
圖1-13-2 顏色透明度的應用
學術圖表的基本配色方法
商業圖表的基本配色方法
用優雅的配色締造圖表專業主義
別笑,我是一份年終報告配色指南
R語言顏色綜合運用與色彩方案共享
R語言中的顏色
本文由陽叔編輯
如需轉載請聯繫EasyCharts團隊!
【書籍推薦】《Excel 數據之美--科學圖表與商業圖表的繪製》
【手冊獲取】國內首款-數據可視化參考手冊:專業繪圖必備
【必備插件】 EasyCharts -- Excel圖表插件
【網易雲課堂】 Excel 商業圖表修鍊秘笈之基礎篇
http://qm.qq.com/cgi-bin/qm/qr?k=9vVG-VeVfeYYhiD9qYyuhazSwFpaB8YG (二維碼自動識別)
推薦閱讀:
※自動駕駛免費數據資源分享
※記錄我是如何轉型大數據分析(二)——iris
※堅持做正確的事
※走出迷茫——數據分析實踐計劃
※下載《基於用戶全生命周期的數據分析與數字化營銷手冊》