RColorBrewer與ggplot2

如何用RColorBrewer包配置自己需要的顏色

  • 使用RColorBrewer中默認的顏色
    RColorBrewer中的配色方案可以說是高大上啦,基本能夠滿足大部分的使用場景
    我們先來看看主要有哪些顏色,先看圖
Paste_Image.png

從上圖可以看出,顏色分了三個區(qū)域,分別對應的是三個類型,從上到下依次是:
1,seq類型:單漸變色,一種主色由淺到深
2,qual類型:區(qū)分色,幾種區(qū)分度很高的顏色組合
3,div類型:雙漸變色,一種顏色到另外一種顏色的漸變,有兩種主色

先運行這句話,看看文本版的顏色描述

brewer.pal.info

Paste_Image.png

如上圖,
第一列就是顏色名,比如第一個叫"BrBG";
第二列maxcolors是該顏色最大數(shù)量,比如"BrBG"類型最多支持11種顏色區(qū)分。
第三列category就是前面講的三種配色類型啦。
第四列colorblind表示是否對色盲友好。

用display.brewer.pal可以看各種配色類型的具體情況,比如:

display.brewer.pal(11,"PuOr")

橙紫雙色漸變:

Paste_Image.png

display.brewer.pal(9,"OrRd")

紅色的單色漸變

Paste_Image.png

好,講到這里應該對RColorBrewer里面的顏色都熟悉了。
接下來就可以生成RColorBrewer包中自己喜歡的顏色庫了。

先看看顏色存儲格式:

brewer.pal(9,"OrRd")

Paste_Image.png

可以看出,RColorBrewer包中的顏色都是以某種編碼形式保存的,一類顏色可以看作是一個某種格式的向量

  • 配色方案1:任意選取一種顏色保存在mycolors中

mycolors<-brewer.pal(9,"YlGnBu")
plotCol(mycolors)

Paste_Image.png
  • 配色方案2:選取幾種顏色組合保存在mycolors中

mycolors<-c(brewer.pal(3,"YlGnBu"),brewer.pal(3, "YlOrRd"),brewer.pal(3,"PuOr"))
plotCol(mycolors)

Paste_Image.png
  • 配色方案3:生成自己定制的28階漸變色

cols<-brewer.pal(3, "YlOrRd")
pal<-colorRampPalette(cols)
mycolors<-pal(28)
plotCol(mycolors)

Paste_Image.png

因為RColorBrewer中seq最多只支持9種,所以想自己定制的可以用第三種方法。

把配置好的顏色用在ggplot2繪圖系統(tǒng)中

我們用airquality數(shù)據(jù)集作為示例數(shù)據(jù)集
先用ggplot簡單畫一下

ggplot(data=airquality,aes(x = Wind,y = Temp) ) +
geom_point(aes(color=factor(Day)) )
效果如下:

Paste_Image.png

因為不同系列的顏色種類太多,所以在這里用ggplot默認的顏色映射到day緯度效果一般。
下面我們換成我們自己配的顏色mycolors,采用上面提到的第三種方案,把28種改成31種,因為day的種類有31種,也就是31天

cols<-brewer.pal(3, "YlOrRd")
pal<-colorRampPalette(cols)
mycolors<-pal(28)
plotCol(mycolors)

顏色準備好后,可以開始畫圖了,這里用scale_color_manual定制day的顏色名,代碼如下:

ggplot(data=airquality,aes(x = Wind,y = Temp) ) +
geom_point(aes(color=factor(Day)) ) +
scale_color_manual("Day",values = mycolors)

不多說,看效果:

Paste_Image.png

可以看出,對于這種超過10種分類的維度,采用單色多階的配色方案顯示效果不錯。

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

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

  • 發(fā)現(xiàn) 關注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 15,161評論 4 61
  • Life isn’t always beautiful, but the struggles make you s...
    旦真達莎5080閱讀 283評論 0 1
  • 現(xiàn)在大家非常注重個人品牌的打造,不管是企業(yè),公眾號,課程,產(chǎn)品都離不開個人品牌力的影響。 企業(yè):這個企業(yè)的領導人不...
    美燕1Miya閱讀 247評論 0 0
  • 喜歡你明知是個錯,可我還是陷進去一錯再錯,因為今生我不愿錯過你! 因為喜歡看你的笑,,喜歡聽你的話語,喜歡你的一切...
    獨牡丹閱讀 200評論 0 0
  • 記錄是現(xiàn)代文明社會一項基本技能,在每個領域、每一個人里都司空見慣。但從人類發(fā)展歷程的角度來看,也就是笑來老師說的加...
    24隊幸福指數(shù)88閱讀 737評論 0 1

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