R-可視化之顏色與色板選擇

在用R繪圖時,顏色設(shè)置是美化過程中不可缺少的一步,這次簡單的學習與總結(jié)一下。

一、在R中顏色的表示

(1) 顏色的名字 built-in color names

  • R內(nèi)置了657種顏色的名字可供使用
str(colors())
# chr [1:657] "white" "aliceblue" "antiquewhite" ...

head(colors()[1:10])
# [1] "white"         "aliceblue"     "antiquewhite" 
# [4] "antiquewhite1" "antiquewhite2" "antiquewhite3"
set.seed(111)
cols = sample(colors(), 5)
numbers = 1:5; names(numbers) = cols
barplot(numbers, col=cols)
  • 關(guān)于透明色,雖然不在這657個顏色當中,可以通過transparent指定,R可以識別的。
barplot(c(1:3), col=c("chartreuse", "blue4", "transparent"))

(2)十六進制顏色代碼 hexadecimal color code

  • 16進制的顏色代碼是將RGB顏色值的進制轉(zhuǎn)換的表示方式,使用起來更方便,表示的顏色也更豐富。所以在R中更常用這種方式指代顏色。

RGB顏色值與十六進制顏色碼轉(zhuǎn)換工具:https://www.sioe.cn/yingyong/yanse-rgb-16/

rainbow(3)
# [1] "#FF0000" "#00FF00" "#0000FF"
barplot(c(1:7), col=rainbow(7))

二、調(diào)色板

在理解上述顏色表示方法后,在實際繪圖時,一般不會一一手動尋找合適的顏色,而是通過一些R包、網(wǎng)站提供好的,美觀的顏色組合,即調(diào)色板(palette),可供使用。下面羅列下我目前常用的幾種方式。

2.1 RColorBrewer包

# install.packages("RColorBrewer")
library(RColorBrewer)
display.brewer.all() #default: type="all"
  • 如上圖所示,這個包提供了三類色板:
    (1)sequential【上】:漸變型(生成由淺入深的漸變色,適用于標注數(shù)值大小的情況);
    (2)qualitative【中】:離散型(生成彼此差異明顯的顏色,適用于分類數(shù)據(jù));
    (3)diverging【下】:發(fā)散型(生成深色強調(diào)兩端、淺色表示中部的顏色,適用于標注數(shù)據(jù)中的離群點。)
#僅展示離散類顏色組合
display.brewer.all(type="qual")
#展示具體某一個組合
display.brewer.pal(n=12, name = 'Set3')
  • 在實際使用時,需要注意色板的選擇與數(shù)量的選擇
    (1)對于離散類顏色,會自動調(diào)用前n個顏色
brewer.pal(n = 9, name = "Set1")
# [1] "#E41A1C" "#377EB8" "#4DAF4A" "#984EA3" "#FF7F00" "#FFFF33" "#A65628" "#F781BF" "#999999"
brewer.pal(n = 3, name = "Set1")
# [1] "#E41A1C" "#377EB8" "#4DAF4A"

display.brewer.pal(n=9, name = 'Set3') #left
display.brewer.pal(n=3, name = 'Set3') # right

(2)對于發(fā)散型和漸變型,會考慮整體配色方案,自動調(diào)用最合適的n個顏色

brewer.pal(n = 9, name = "Blues")
# [1] "#F7FBFF" "#DEEBF7" "#C6DBEF" "#9ECAE1" "#6BAED6" "#4292C6" "#2171B5" "#08519C" "#08306B"
brewer.pal(n = 3, name = "Blues")
# [1] "#DEEBF7" "#9ECAE1" "#3182BD"

2.2 colorbrewer配色網(wǎng)站

2.3 ggsci包

  • 自動對接ggplot2包,提供期刊雜志級別的配色方案;
  • 使用十分簡單,配合ggplot,只需要選擇color還是fill,會自動根據(jù)變量類別確認配色;
  • 具體使用方法也不介紹了,安裝、加載,配合ggplot繪圖即可??蓞⒖垂俜浇坛蹋?a target="_blank">https://cran.r-project.org/web/packages/ggsci/vignettes/ggsci.html
    部分配色方案

2.4 其它備選方案

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容