R语言可视化--颜色
RColorBrewer包
三类调色板:sequential / diverging / qualitative
调色板的信息可以与colorRamp / colorRampPalette结合使用
-
从一个极端到另一个极端,慢慢过渡呈现顺序
-
两边的颜色比较亮,中间的颜色比较暗,适合凸显处在极端的数值,想进行高低对比。
-
颜色对比鲜明,适合呈现分类变量,凸显他们的差异和对比。
在RStudio中进行:
- 首先是colorRamp
> pal <-colorRamp(c("red","blue"))
> pal(0) #红色
[,1] [,2] [,3]
[1,] 255 0 0
> pal(1) #蓝色
[,1] [,2] [,3]
[1,] 0 0 255
> pal(0.5) # 红色和蓝色之间的颜色
[,1] [,2] [,3]
[1,] 127.5 0 127.5
> pal(seq(0,1,len=10)) #红色和蓝色之间的10个颜色
[,1] [,2] [,3]
[1,] 255.00000 0 0.00000
[2,] 226.66667 0 28.33333
[3,] 198.33333 0 56.66667
[4,] 170.00000 0 85.00000
[5,] 141.66667 0 113.33333
[6,] 113.33333 0 141.66667
[7,] 85.00000 0 170.00000
[8,] 56.66667 0 198.33333
[9,] 28.33333 0 226.66667
[10,] 0.00000 0 255.00000
- colorRampPalette
> pal<-colorRampPalette(c("red","yellow"))
> pal(1) #十六进制数表示的红色
[1] "#FF0000"
> pal(2) #十六进制数表示的黄色
[1] "#FF0000" "#FFFF00"
> pal(10) #
[1] "#FF0000" "#FF1C00" "#FF3800" "#FF5500" "#FF7100" "#FF8D00" "#FFAA00" "#FFC600" "#FFE200"
[10] "#FFFF00"
- RColorBrewer包
#三列分别表示:最多可以使用颜色的数目、种类属于哪一类,是否影响色盲人士
> library(RColorBrewer)
> brewer.pal.info
maxcolors category colorblind
BrBG 11 div TRUE
PiYG 11 div TRUE
PRGn 11 div TRUE
PuOr 11 div TRUE
RdBu 11 div TRUE
RdGy 11 div FALSE
RdYlBu 11 div TRUE
RdYlGn 11 div FALSE
Spectral 11 div FALSE
Accent 8 qual FALSE
Dark2 8 qual TRUE
Paired 12 qual TRUE
Pastel1 9 qual FALSE
Pastel2 8 qual FALSE
Set1 9 qual FALSE
Set2 8 qual TRUE
Set3 12 qual FALSE
Blues 9 seq TRUE
BuGn 9 seq TRUE
BuPu 9 seq TRUE
GnBu 9 seq TRUE
Greens 9 seq TRUE
Greys 9 seq TRUE
Oranges 9 seq TRUE
OrRd 9 seq TRUE
PuBu 9 seq TRUE
PuBuGn 9 seq TRUE
PuRd 9 seq TRUE
Purples 9 seq TRUE
RdPu 9 seq TRUE
Reds 9 seq TRUE
YlGn 9 seq TRUE
YlGnBu 9 seq TRUE
YlOrBr 9 seq TRUE
YlOrRd 9 seq TRUE
- 如何使用RColorBrewer和colorRampPalette结合起来
#调用brewer.pal包里面的greens调色板,从中取出3个颜色,传入调色板colorRampPalette。数据集为volcano,以3个端点颜色为进行取值。
cols<-brewer.pal(3,"Greens")
pal<-colorRampPalette(cols)
image(volcano,col=pal(20))
呈现出这些颜色的原因是我们选取的调色板中的3个颜色如下
#查看greens调色板的3个颜色
display.brewer.pal(3,"Greens")