ggplot2 and geom_density: How to remove baseline?

后端 未结 3 852
粉色の甜心
粉色の甜心 2020-12-09 14:29

I\'m using ggplot as described here

Smoothed density estimates

and entered in the R console

m <- ggplot(movies, aes(x = rating))         


        
相关标签:
3条回答
  • 2020-12-09 15:10

    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.

    0 讨论(0)
  • 2020-12-09 15:13

    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.

    0 讨论(0)
  • 2020-12-09 15:25

    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.

    0 讨论(0)
提交回复
热议问题