关于颜色的R包
在R 中,对于颜色,我们还可以通过颜色下标、十六进制的颜色值、RGB值及HSV值来设定。
如 col = 1, col = ‘white’, col = ‘#FFFFFF’, col = (1, 1, 1),col = hsv(0,0,1) 都是表示白色。
但在哪里可以取得这些关于颜色的名称或者信息呢?
我们可以通过几个函数来获得颜色的这些信息。
1)colors()
R 内建的函数。
> head(colors())
[1] "white" "aliceblue" "antiquewhite" "antiquewhite1"
[5] "antiquewhite2" "antiquewhite3"
2)rainbow()
生成连续的“彩虹色”颜色,指定参数n 为颜色的数目。
> rainbow(9)
[1] "#FF0000FF" "#FFAA00FF" "#AAFF00FF" "#00FF00FF" "#00FFAAFF" "#00AAFFFF"
[7] "#0000FFFF" "#AA00FFFF" "#FF00AAFF"
3)heat.colors() & terrain.colors() & topo.colors() & cm.colors()
类似rainbow。
> heat.colors(3)
[1] "#FF0000FF" "#FF8000FF" "#FFFF00FF"
> topo.colors(3)
[1] "#4C00FFFF" "#00FF4DFF" "#FFFF00FF"
> cm.colors(3)
[1] "#80FFFFFF" "#FFFFFFFF" "#FF80FFFF"
4)RColorBrewer()
我们需要下载一下这个包:
install.packages('RColorBrewer')
使用包中的函数brewer.pal() 可以创建一个颜色值的向量,n 指定从颜色盘中取得的数目,name 指定颜色盘:
> library(RColorBrewer)
> mycolor = brewer.pal(7, 'Set1')
> mycolor
[1] "#E41A1C" "#377EB8" "#4DAF4A" "#984EA3" "#FF7F00" "#FFFF33" "#A65628"
可以看看这些颜色:
> barplot(rep(1,7), col = mycolor)
我们还可以看看包中的所有颜色:
library(RColorBrewer)
display.brewer.all()
按照官方的介绍,RColorBrewer 上面这三类调色板各有应用:
Sequential palettes (first list of colors): 适合单一方向变化的连续性变量,names are : Blues, BuGn, BuPu, GnBu, Greens, Greys, Oranges, OrRd, PuBu, PuBuGn, PuRd, Purples, RdPu, Reds, YlGn, YlGnBu YlOrBr, YlOrRd
Qualitative palettes (second list of colors): 适合分类变量,names are : Accent, Dark2, Paired, Pastel1, Pastel2, Set1, Set2, Set3.
Diverging palettes (third list of colors): 由中间向两侧变化的连续性变量,names are : BrBG, PiYG, PRGn, PuOr, RdBu, RdGy, RdYlBu, RdYlGn, Spectral
5)gray()
用于生成多阶灰色,如 gray(0:10 / 10) 可以生成十种十阶灰色,可以康康:
> mygrays = gray(0:10 / 10)
> barplot(rep(1,10), col = mygrays)
说明书没有看的很懂,但我推测该函数 gray(0:n / k)分成两个部分,一个是0:n,用于指定生成的灰度数目,而后面的k 来控制区分文件的黑度,k 越小,则灰度变化的越不明显,当k = n 时,最后面的生成的颜色会是白色。
而其表示颜色也是从0:1,0 表示黑,1表示白。