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绘图中颜色设置的各种参数及用法,帮助我们轻松绘制出色彩斑斓的图片。
- 本文固定链接: https://maimengkong.com/image/1153.html
- 转载请注明: : 萌小白 2022年8月20日 于 卖萌控的博客 发表
- 百度已收录