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)