R ggplot2和geom_密度:如何删除基线?

R ggplot2和geom_密度:如何删除基线?,r,plot,ggplot2,R,Plot,Ggplot2,我正在使用这里描述的ggplot 并在R控制台中输入 m <- ggplot(movies, aes(x = rating)) m + geom_density() m最一致的方法是(感谢@baptiste): 我最初的建议是使用geom_line和适当的stat: m + geom_line(stat="density") 但由于我收到报告,不再推荐使用该方法,因为在较新版本的ggplot中,该方法并不适用于所有情况。另一种方法是单独计算密度,然后绘制密度。大概是这样的: a &l

我正在使用这里描述的
ggplot

并在R控制台中输入

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

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

我最初的建议是使用
geom_line
和适当的
stat

m + geom_line(stat="density")

但由于我收到报告,不再推荐使用该方法,因为在较新版本的ggplot中,该方法并不适用于所有情况。

另一种方法是单独计算密度,然后绘制密度。大概是这样的:

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

a建议的答案与
geom\u density
提供的结果不完全相同。为什么不在基线上画一条白线呢

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

这对我很有用。

stat\u density
带有合适的
geom
谢谢你的提示!答案中包含了该选项。似乎没有为我提供与分组相同的输出。还可以确认
stat\u density(geom='line')
不适用于分组,而
geom\u line(stat='density')
适用于分组,
geom\u line(stat='density')
生成正确的图片,因为
stat\u density(geom=“line”)
会在两条密度线的曲线下产生面积不相等的密度。缺点是绘图的背景可能是白色的,也可能不是白色的,这取决于轴设置等。
+ geom_hline(yintercept=0, colour="white", size=1)