以下代码绘制了平滑线。但似乎没有跨越整个数据范围。我做错了吗?
ggplot(mpg, aes(year, cty)) + geom_jitter() + geom_smooth(method = "lm", se = TRUE, span=3, fullrange=TRUE)
它给了我:
答案 0 :(得分:6)
您的问题出在geom_jitter
。查看它显示的mpg
数据集只有两年,1999年和2008年。geom_jitter
使得范围看起来比它宽得多,但是geom_smooth
只绘制一条线数据范围。例如,使用
ggplot(mpg, aes(year, cty)) + geom_point() + geom_smooth(method = "lm", se = TRUE, span=3, fullrange=TRUE)
给我们一个这样的情节
geom_jitter
不仅会抖动y值(cty),还会抖动x值(年份),这使得数据的日期范围看起来比实际更宽。由于geom_smooth
仅在范围内插值,因此它不会像您想要的那样跨越整个图。