Ответ 1
Одним из способов достижения этой цели будет создание нового фрейма данных diamonds2
, который содержит только столбец price
, а затем два вызова geom_density()
- тот, который будет использовать оригинальный diamonds
, а второй, который использует diamonds2
. Как и в diamonds2
не будет столбца clarity
, все значения будут использоваться во всех гранях.
diamonds2<-diamonds["price"]
ggplot(diamonds, aes(price)) + geom_density()+facet_grid(.~clarity) +
geom_density(data=diamonds2,aes(price),colour="blue")
UPDATE - как было предложено @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()
- в один add aes(color=clarity)
, чтобы иметь линии плотности в разных цветах для каждого уровня clarity
и оставить пустую секунду geom_density()
, что добавит общую черную линию плотности.
ggplot(diamonds,aes(price))+geom_density(aes(color=clarity))+geom_density()