我正在尝试使用排除负值的 ggplot2 geom_smooth 绘制具有标准误差(se)的线性回归。不幸的是,使用 scale_y_continuous 会截断标准错误填充的一部分。如何让 se 填充区域在 y=0 处平滑结束?
参见示例(使用 y=10 而不是 y=0,但过程相同):
ymax<-max(mtcars$mpg)
myplot<- ggplot(data=mtcars, aes(x=wt, y=mpg)) +
geom_smooth(method=lm, se=TRUE,fill = "#3399FF", colour="#0000FF",size =1) +
geom_point(shape=20, size=2) +
scale_y_continuous(limits = c(10, ymax))
suppressMessages(print(myplot))
Run Code Online (Sandbox Code Playgroud)
我希望我可以发布图表,但我刚刚加入了堆栈溢出并且没有足够的信誉点来发布图像。该图显示了按预期在 y=10 处结束的回归线,但是 se 填充以垂直边结束(而不是与应排除 se 下方的线水平)。谢谢,对不起,我不能发布图片:)
使用新版本的 ggplot 我们现在需要:
scale_y_continuous(limit=c(10,NA),oob=squish)
Run Code Online (Sandbox Code Playgroud)