我有一个数据框,想要基于两列进行覆盖密度图。我希望颜色透明。我已经使用fill选项完成了此操作,并且基本上将fill分配为一个因素列。默认情况下,当您有一个因子列时,所有填充都是透明的。
但是在没有任何因素的情况下,我们如何用透明填充它。
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)
我尝试添加,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)
编辑对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"))
因此,我们首先将两个数据集绑定在一起,然后添加分组变量。然后,我们确定ggplot
哪个是分组变量,它负责其他所有事项。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句