Reputation: 575
I'm using ggplot
as described here
and entered in the R console
m <- ggplot(movies, aes(x = rating))
m + geom_density()
This works but is there some way to remove the connection between the x-axis and the density plot (the vertical lines which connect the density plot to the x-axis)
Upvotes: 41
Views: 17483
Reputation: 25608
The most consistent way to do so is (thanks to @baptiste):
m + stat_density(geom="line")
My original proposal was to use geom_line
with an appropriate stat
:
m + geom_line(stat="density")
but it is no longer recommended since I'm receiving reports it's not universally working for every case in newer versions of ggplot.
Upvotes: 68
Reputation: 7722
The suggested answers dont provide exactly the same results as geom_density
. Why not draw a white line over the baseline?
+ geom_hline(yintercept=0, colour="white", size=1)
This worked for me.
Upvotes: 8
Reputation: 1929
Another way would be to calculate the density separately and then draw it. Something like this:
a <- density(movies$rating)
b <- data.frame(a$x, a$y)
ggplot(b, aes(x=a.x, y=a.y)) + geom_line()
It's not exactly the same, but pretty close.
Upvotes: 7