关于基本的直方图设置、纵坐标对数变换以及基本的颜色设置,可以参考R语言ggplot2直方图设置。 本文使用的数据为:R语言自带的mtcars
数据集的mpg
变量。以下内容中将首先给出目标图片和代码,并逐一解释。欢迎批评指正!
目录
1. 图片及所有代码
# 获取mpg变量的密度
dense = data.frame(density(mtcars$mpg)[c('x','y')])
ggplot(mtcars,aes(x =mpg))+
geom_histogram(aes(y=..density..), color="#88ada6", alpha=.25, fill="#fffbf0", binwidth = 2, center=1)+
geom_density()+
geom_area(data = subset(dense,x >= 10 & x < 15), aes(x, y, fill = "Label 1"), alpha=.4)+
geom_area(data = subset(dense,x >= 15 & x < 20), aes(x, y, fill = "Label 2"), alpha=.4)+
geom_area(data = subset(dense,x >= 20 & x < 25), aes(x, y, fill = "Label 3"), alpha=.4)+
geom_area(data = subset(dense,x >= 26 & x < 30), aes(x, y, fill = "Label 4"), alpha=.4)+
geom_area(data = subset(dense,x >= 30), aes(x, y, fill = "Label 5"), alpha=.4)+
scale_fill_manual("Label title",
breaks = c("Label 1", "Label 2", "Label 3", "Label 4", "Label 5"),
values = c("Label 1"="#4b5cc466", "Label 2"="#16a95166", "Label 3"="#ffb61e66", "Label 4"="#ff750066", "Label 5"="#c3272b66"))+
labs(title="title",
subtitle="subtitle",
caption = "caption",
x = 'x axis title',
y = 'y axis title')+
theme_bw()+
theme(plot.title = element_text(size = 16, face = "bold", hjust = 0.5),
plot.subtitle = element_text(size = 12, face = "bold", hjust = 0.5),
plot.caption = element_text(size = 12, face = "italic"),