add*_*ons 5 r ggplot2 kernel-density density-plot
我有一个数据框,想要根据两列做一个叠加密度图.我希望颜色是透明的.我使用填充选项完成了此操作,并且基本上将填充分配为因子列.如果默认情况下有一个因子列,则所有填充都将是透明的.
但在这样的情况下,没有因素我们如何用透明填充它.
library("ggplot2")
vec1 <- data.frame(x=rnorm(2000, 0, 1))
vec2 <- data.frame(x=rnorm(3000, 1, 1.5))
ggplot() + geom_density(aes(x=x), fill="red", data=vec1) +
geom_density(aes(x=x), fill="blue", data=vec2)
Run Code Online (Sandbox Code Playgroud)
我尝试添加,geom_density(alpha=0.4)但它没有任何好处.

像这样?

ggplot() + geom_density(aes(x=x), fill="red", data=vec1, alpha=.5) +
geom_density(aes(x=x), fill="blue", data=vec2, alpha=.5)
Run Code Online (Sandbox Code Playgroud)
编辑对OP的回应评论.
这是绘制多条曲线的惯用方法ggplot.
gg <- rbind(vec1,vec2)
gg$group <- factor(rep(1:2,c(2000,3000)))
ggplot(gg, aes(x=x, fill=group)) +
geom_density(alpha=.5)+
scale_fill_manual(values=c("red","blue"))
Run Code Online (Sandbox Code Playgroud)

因此,我们首先将两个数据集绑定在一起,然后添加一个分组变量.然后我们告诉ggplot哪个是分组变量,它会处理其他所有事情.
| 归档时间: |
|
| 查看次数: |
8315 次 |
| 最近记录: |