ggplot2和geom_density:如何删除基线?

时间:2014-02-06 10:50:52

标签: r plot ggplot2

我正在使用此处所述的ggplot

http://docs.ggplot2.org/current/stat_density.html

并输入R控制台

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

这有效但是有一些方法可以去除x轴和密度图之间的连接(将密度图连接到x轴的垂直线)

3 个答案:

答案 0 :(得分:53)

最一致的方法是(感谢@baptiste):

m + stat_density(geom="line")

我的原始提案是将geom_line与适当的stat

一起使用
m + geom_line(stat="density")

但不再推荐它,因为我收到的报告并不普遍适用于较新版本的ggplot中的每个案例。

答案 1 :(得分:6)

建议的答案并未提供与geom_density完全相同的结果。为什么不在基线上划一条白线?

+ geom_hline(yintercept=0, colour="white", size=1)

这对我有用。

答案 2 :(得分:5)

另一种方法是分别计算密度然后绘制它。像这样:

a <- density(movies$rating)
b <- data.frame(a$x, a$y)
ggplot(b, aes(x=a.x, y=a.y)) + geom_line()

它不完全一样,但非常接近。