其他
ggplot2图形常见的几种配色方法
举例展示几种常用的ggplot取色方法,如:
通过字符串区分取色; 通过数字取色; 取渐变色; 通过RColotBrewer方案取色。
1. 构建数据集
df = data.frame(x=1:10,
y=seq(1, 20, 2),
z=seq(1000, 100, -100),
c=paste("color", seq(1, 10, 1)))
df
2. 安装和加载包
install.packages("ggplot2") # 安装包
install.packages("RColorBrewer")
library(ggplot2) # 加载包
library(RColorBrewer)
3. 绘制图形
3.1 基础图形
ggplot(df, aes(x=x, y=y)) +
geom_bar(stat="identity")
3.2 默认颜色
在ggplot2 的图形语法中,颜色是一个图形属性,如同x 的位置、y 的位置、大小等一样。
对于图形中的几何对象,可以设置colour或者fill参数的值来设置颜色。
一般而言,colour参数控制的是线条、多边形轮廓的颜色,而fill参数控制的是多边形的填充色。
如果需要用一个变量(数据框的某一列)来控制几何对象的颜色,将colour或fi11参数的值设置为数据中某一列的列名即可。
ggplot(df, aes(x=x, y=y, fill=c)) +
geom_bar(stat="identity") +
labs(x="x axis", y="y axis", fill="legend")
3.3 数字取色-正序
x变量是个递增的向量。
ggplot(df, aes(x=x, y=y, fill=x)) +
geom_bar(stat="identity") +
labs(x="x axis", y="y axis", fill="legend")
3.4 数字取色-倒序
z变量是个递减的向量。
ggplot(df, aes(x=x, y=y, fill=z)) +
geom_bar(stat="identity") +
labs(x="x axis", y="y axis", fill="legend")
3.5 渐变色:色1-色2取色
colors <- colorRampPalette(c("red", "orange"))(10)
colors
# [1] "#FF0000" "#FF1200" "#FF2400" "#FF3700" "#FF4900" "#FF5B00" "#FF6E00" "#FF8000" "#FF9200" "#FFA500"
ggplot(df, aes(x=x, y=y)) +
geom_bar(stat="identity", fill=colors[rank(10:1)]) +
labs(x="x axis", y="y axis", fill="legend")
3.6 RColorBrewer取色:set3为例
ggplot(df, aes(x=x, y=y)) +
geom_bar(stat="identity", fill=brewer.pal(10, "Set3")) +
labs(x="x axis", y="y axis", fill="legend")
本文直接来源微生态,作者阿童木。
既往专辑