R绘图:一文了解ggplot2颜色的设置
R绘图往期回顾:
R绘图:ggeconodist,基于ggplot2的另类箱图
在我们平常的绘图中,颜色不仅影响图形得美感,也可以作为一个变量,从而使图形反应更多维度得信息。
我们可以用颜色来表示分组,比如,不同组的散点用不同颜色,多条曲线用不同颜色;可以用颜色表示数值,用颜色深浅表示绝对值大小;可以用颜色来突出某些要强调的图形元素
将变量值映射为颜色,可以分为如下四种情况 1 无序的分类变量;2 有序的分类变量,仅有大小次序,没有正反;3 有序的分类变量,有正有反;4 连续数值变量。
在R语言中,我们可以使用RColorBrewer::display.brewer.all()来查看调色板,在ggplot2 中用 scale_color_brewer(palette) 和 scale_fill_brewer(palette)选择 RColorBrewer 中的调色盘。
RColorBrewer::display.brewer.all()
离散型变量
manual 直接指定分组使用的颜色
hue 通过改变色相(hue)饱和度(chroma)亮度(luminosity)来调整颜色
brewer 使用ColorBrewer的颜色
grey 使用不同程度的灰色
color 和 fill 可更改的颜色参数,一般柱状图,fill是柱子的填充颜色,这时就使用scale_fill系列函数来更改颜色。点图使用color分组,则使用scale_color_系列函数来更改颜色。
library(ggplot2)
b <- ggplot(mpg, aes(fl))+ geom_bar(aes(fill = fl))
b
scale_fill_brewer函数调用调色板中的配色方案
b + scale_fill_brewer(palette = "Set1")
也可以使用scale_fill_manual函数自定义颜色
b + scale_fill_manual(values=c(c = "red", d = "blue", e = "green" , p = "orange", r = "yellow"))
单一颜色
b+ scale_fill_brewer(palette = "Blues")
也可以用scale_fill_grey()函数使用灰度,通过start end 两个参数指定,0为黑,1为白,都在0-1范围内
b + scale_fill_grey()
b + scale_fill_grey(start=1, end=0)
连续型变量
gradient 创建渐变色
distiller 使用ColorBrewer的颜色
identity 使用color变量对应的颜色,对离散型和连续型都有效
scale_color_gradient 双色渐变(低-高)
scale_color_gradient2 发散颜色渐变(低-中-高)
scale_color_gradientn 创建n色渐变
双色渐变
aaa=mpg
aaa$cty<- aaa$cty-20
f <- ggplot(aaa, aes(cty, hwy))+ geom_point(aes(color=cty))
f + scale_colour_gradient(low = "green", high = "red")
低-中-高三色渐变
f + scale_color_gradient2(low = "green", mid = "black", high = "red")
n色渐变
f + scale_color_gradientn(colours =rainbow(10))
scale_color_distiller函数可以将ColorBrewer的颜色运用在连续变量上
f + scale_color_distiller(palette = "Set1")
公众号“生信小课堂”