实现此目的的一种方法是创建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()
