该文章为个人为了复习总结的笔记,参考来源为:
https://www.sohu.com/a/348752646_785442
https://www.jianshu.com/p/567e4a2c295a
1.简单颜色分配
①color:对点和线的颜色进行调整;当为柱状图或者空心散点时,color仅改变边框颜色。
eg:红色外框的条形图
>ggplot(df, aes(x=type, y=number)) + geom_bar(stat="identity", color="#FF9999")
②fill:改变一些作为填充对象的颜色。
eg:黑色外框、红色填充的条形图
>ggplot(df, aes(x=type, y=number)) + geom_bar(stat="identity", fill="#FF9999", colour="black")
2.用不同颜色来表示不同变量
除了对颜色进行全局性的修改,也可以将变量值映射为颜色,就是用颜色来表示某个变量,需要将它置于aes 命令之中。同时在对图形属性进行映射之后,可使用标尺控制这些属性的显示方式,其显示规律如下:
/ggplot2中提供了两种色标功能,用于使用rcolorbrewer调色板:
scale_fill_brewer()用于箱形图,条形图,小提琴图,点图等
scale_color_brewer()用于行和点
/ggplot2的scale系列函数一般使用三个单词,用_连接,如scale_fill_gradient和 scale_color_continuous等。
第一个单词都是scale;
第二个是color和fill等可更改的颜色参数,对应分组使用的颜色函数即可。比如柱状图,fill是柱子的填充颜色,这时就使用scale_fill系列函数来更改颜色。点图使用color分组,则使用scale_color_系列函数来更改颜色;
第三个单词的不同,可分为以下两种情况:
①离散型:在颜色变量是离散变量的时候使用,比如分类时每一类对应一种颜色。
1)manual :直接指定分组使用的颜色
#直接指定颜色
>p + scale_fill_manual(values=c("red", "blue", "green", "yellow","orange"))
#或者直接指定对应分组颜色
>p + scale_fill_manual(values=c("Fair" = "red", "Good" = "blue", "Very Good" = "green" , Premium = "orange", Ideal = "yellow"))
#设置颜色透明度
>p + scale_fill_manual(values=alpha(c("#6495ED","#969696",0.5)))
2)hue:通过改变色相(hue)饱和度(chroma)亮度(luminosity)来调整颜色
3)brewer:使用ColorBrewer的颜色
/ brewer用于调用包ColorBrewer 中的配色方案,要想了解所有的调色板,可以使用RColorBrewer::display.brewer.all查看。
/显示某个色盘的颜色
>display.brewer.pal(n, name)
函数参数的描述:
n:调色板中不同颜色的数量,最小值为3,最大值取决于调色板。
name:ColorBrewer列表中的调色板名称。 例如name = RdBu。
/想要显示调色盘中某个色块的名称:
>library(RColorBrewer)
>brewer.pal(n = 8, name = "Dark2")
[1] "#1B9E77" "#D95F02" "#7570B3" "#E7298A" "#66A61E" "#E6AB02" "#A6761D"## [8] "#666666"
/brewer的使用案例
>p + scale_fill_brewer(palette="Dark2") #填充箱型图、条形图、小提琴图、点图等
>p + scale_color_brewer(palette="Dark2") #用于点等
4)grey:使用不同程度的灰色
#通过start end 两个参数指定,0为黑,1为白,都在0-1范围内
eg:p + scale_fill_grey #使用不同程度的灰色
p + scale_fill_grey(start=1, end=0) #设定灰度范围
②连续型:颜色变量是连续变量的时候使用,比如0-100的数,数值越大颜色越深。
1)gradient创建渐变色
p <- ggplot(df, aes(x, y)) + geom_point(aes(colour = z1))
gradient 创建渐变色#参数设定节点颜色
p + scale_color_gradient(low = "white", high = "black")
#设置中间过渡色
p + scale_color_gradient2(low = "red", mid = "white", high = "blue")
#使用R预设调色板
p + scale_color_gradientn(colours =rainbow(10))
2) distiller 使用ColorBrewer的颜色
#将ColorBrewer的颜色应用到连续变量上
p + scale_color_distiller(palette = "Spectral")
p + scale_color_distiller(palette = "Greens")
3) identity 使用color变量对应的颜色,对离散型和连续型都有效