实现此目的的一种方法是创建diamonds2
仅包含 columnprice
和两个geom_density()
调用的新数据框 - 一个将使用 original diamonds
,第二个将使用diamonds2
. 因为diamonds2
没有列clarity
,所有值都将用于所有方面。
diamonds2<-diamonds["price"]
ggplot(diamonds, aes(price)) + geom_density()+facet_grid(.~clarity) +
geom_density(data=diamonds2,aes(price),colour="blue")
更新- 正如@BrianDiggs 所建议的那样,无需制作新数据框而是将其转换为geom_density()
.
ggplot(diamonds, aes(price)) + geom_density()+facet_grid(.~clarity) +
geom_density(data=transform(diamonds, clarity=NULL),aes(price),colour="blue")
另一种方法是在不分面的情况下绘制数据。添加两个调用geom_density()
- 在一个添加aes(color=clarity)
中为每个级别添加不同颜色的密度线clarity
并留空第二个geom_density()
- 这将添加整体黑色密度线。
ggplot(diamonds,aes(price))+geom_density(aes(color=clarity))+geom_density()