R语言学习ggplot2之颜色设置,你学会了吗?
卖萌控的博客
点击这里进入电脑版页面!体验更好
R语言学习ggplot2之颜色设置,你学会了吗?
2022-8-20 萌小白


ggplot2是由Hadley Wickham创建的一个十分强大的可视化R包。在使用R作图时,如何使用ggplot2来调整图像中的颜色呢?下面跟着我们一起学习ggplot2的颜色修改函数,制作出更加绚丽多彩的图片。






1



简单颜色分配



在ggplot2中,对于线和点的颜色调整可以直接改变colour参数,如设置colour=“red”等。而对于一些作为对象填充的颜色,如直方图中条形的颜色,则可以通过改变fill参数来控制,如fill=“red”。



#构建数据



df <- read.table(header=TRUE, data='type number



A 3



B 4.5



C 2.8')



# 默认:深色条形



ggplot(df, aes(x=type, y=number)) + geom_bar(stat="identity")



# 红色外框线的条形



ggplot(df, aes(x=type, y=number)) + geom_bar(stat="identity", colour="#FF9999")



# 红色填充,黑色外框



ggplot(df, aes(x=type, y=number)) + geom_bar(stat="identity", fill="#FF9999", colour="black")









2



将变量值映射为颜色



除了对颜色进行全局性的修改,也可以将变量值映射为颜色,就是用颜色来表示某个变量,需要将它置于aes 命令之中。同时在对图形属性进行映射之后,使用标尺控制这些属性的显示方式,其显示规律如下



ggplot2的scale系列函数一般使用三个单词用_连接,如scale_fill_gradient和 scale_color_continuous。



第一个都是scale。



第二个是colorfill等可更改的颜色参数,对应分组使用的颜色函数即可。比如柱状图,fill是柱子的填充颜色,这时就使用scale_fill系列函数来更改颜色。点图使用color分组,则使用scale_color_系列函数来更改颜色。



第三个单词的不同,可分为以下两种情况:



1)离散型:在颜色变量是离散变量的时候使用,比如分类时每一类对应一种颜色。



manual 直接指定分组使用的颜色



hue通过改变色相(hue)饱和度(chroma)亮度(luminosity)来调整颜色



brewer使用ColorBrewer的颜色



grey使用不同程度的灰色



library(ggplot2) ##载入ggplot2包



data(diamonds) ##测试数据



diamond <- diamonds[sample(nrow(diamonds), 1000), ] ##选取数据的前1000行



p <- ggplot(diamond, aes(cut, price, fill = cut)) + geom_boxplot ## 使用默认配色方案 scale_fill_hue






#直接指定颜色



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"))



##效果如下,此时分组颜色对应我们设置的一样






brewer 使用ColorBrewer的颜色



##调用包ColorBrewer 中的配色方案,要想了解所有的调色板,可以使用RColorBrewer::display.brewer.all查看。以下是调色板:






p + scale_fill_brewer(palette = "Set1")



##效果如下,选择Set1的配色方案






grey 使用不同程度的灰色



#通过start end 两个参数指定,0为黑,1为白,都在0-1范围内



p + scale_fill_grey #左图



#设定灰度范围



p + scale_fill_grey(start=1, end=0) # 右图









2)连续型:颜色变量是连续变量的时候使用,比如0-100的数,数值越大颜色越深。



gradient创建渐变色



distiller 使用ColorBrewer的颜色



identity 使用color变量对应的颜色,对离散型和连续型都有效



#构建数据集



df <- data.frame(



x = runif(100),



y = runif(100),



z1 = rnorm(100))



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))















distiller 使用ColorBrewer的颜色



#将ColorBrewer的颜色应用到连续变量上



p + scale_color_distiller(palette = "Spectral")



p + scale_color_distiller(palette = "Greens")









总结:以上就是ggplot2绘图中颜色设置的各种参数及用法,帮助我们轻松绘制出色彩斑斓的图片。



发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容