I would like to use ggplot and faceting to construct a series of density plots grouped by a factor. Additionally, I would like to a layer another density plot on each of the fac
One way to achieve this would be to make new data frame diamonds2
that contains just column price
and then two geom_density()
calls - one which will use original diamonds
and second that uses diamonds2
. As in diamonds2
there will be no column clarity
all values will be used in all facets.
diamonds2<-diamonds["price"]
ggplot(diamonds, aes(price)) + geom_density()+facet_grid(.~clarity) +
geom_density(data=diamonds2,aes(price),colour="blue")
UPDATE - as suggested by @BrianDiggs the same result can be achieved without making new data frame but transforming it inside the geom_density()
.
ggplot(diamonds, aes(price)) + geom_density()+facet_grid(.~clarity) +
geom_density(data=transform(diamonds, clarity=NULL),aes(price),colour="blue")
Another approach would be to plot data without faceting. Add two calls to geom_density()
- in one add aes(color=clarity)
to have density lines in different colors for each level of clarity
and leave empty second geom_density()
- that will add overall black density line.
ggplot(diamonds,aes(price))+geom_density(aes(color=clarity))+geom_density()