颜色设置,在R的可视化中,应该算是相对比较重要的一项内容,如何把握颜色,很大程度上影响图形的展现效果。
在ggplot的scale设置中,颜色相关的函数较多:
scale_fill/colour_hue(..., h = c(0, 360) + 15, c = 100, l = 65, h.start = 0, direction = 1, na.value = "grey50")
scale_colour_discrete 与scale_fill/colour_hue的普通参数部分是一样的,scale_fill/colour_hue的特别参数部分
#h表示色彩变化范围,变化范围为(0,360)
#c表示色彩的浓度,由数据的最大值决定
#l 表示色彩的亮度,变化范围为(0,100)
#direction 为1表示色彩是顺时针,-1表示逆时针
scale_colour/fill_brewer(..., type = "seq", palette = 1)
#type表示颜色样式 有seq 、 div 、qual 三个中选一个
#palette 表示颜色数量 数字直接表示颜色个数 也可以用相对应的名称,具体可以用RColorBrewer::display.brewer.all() 查看
brewer 详情查看http://colorbrewer2.org
scale_colour/fill_gradient(..., low = "#132B43", high = "#56B1F7", space = "Lab", na.value = "grey50", guide = "colourbar")
scale_colour/fill_continuous 的参数与scale_colour/fill_gradient是一样的
#颜色梯度设置
#low 表示颜色梯度最底端的颜色
#high 表示颜色梯度最高位置的颜色
#space 表示颜色梯度计算空间,通常用lab 都是最好的
#guide 该参数的值可以用colourbar 表示用颜色条,legend可以表示为离散变量
scale_colour/fill_grey(..., start = 0.2, end = 0.8, na.value = "red")
#把图设置成灰度面板
#start 从调色板的最低端颜色开始
#end 到调试板最高位置的颜色
下面我们来看一个具体的例子:
p<-ggplot(iris,aes(Petal.Length,Petal.Width,color=Species))+geom_point() p+scale_color_hue(h=c(0,360),c=500,l=c(20,80))
p+scale_color_brewer(type="seq",palette="Set2")
tu<-ggplot(iris,aes(Petal.Length,Petal.Width,color=Sepal.Width))+geom_point() tu+scale_color_gradient(low="red")
由上图可以很明确的了解scale_color_gradient()中的参数low和high的作用是对第3变了的底端和顶端颜色进行设置,同时gradient设置是用连续型数据。
p+scale_color_grey(end=0.5)
从上图可以看出,grey的设置是对颜色进行灰度设置,另外,值得注意的是star和end的参数只能在0到1之间进行取值。