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。 第二个是color和fill等可更改的颜色参数,对应分组使用的颜色函数即可。比如柱状图,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绘图中颜色设置的各种参数及用法,帮助我们轻松绘制出色彩斑斓的图片。 供稿:温平平 编辑:鲁淑妮 |
|