stat_smooth
告诉你
loess
被使用,并且与默认参数一起使用,特别是与
span = 0.75
该文件解释说,为了平滑邻域,使用了一部分数据点,该比例由下式定义
span
即,默认情况下使用具有75%点的邻域。
现在,在数据子集中,数据点的总数非常不同,这意味着默认邻域的点数非常不同,从而导致不同的平滑。你可以纠正这一点:
n24 <- nrow(subset(plot_data, myear == 2024))
n23 <- nrow(subset(plot_data, myear == 2023))
ggplot(plot_data, aes(x = mdate_new,y=amount,color=myear )) + geom_line(aes(alpha=0.6))+
geom_smooth(data = subset(plot_data, myear == 2023), se=FALSE, span = 0.75 * n24/n23) +
geom_smooth(data = subset(plot_data, myear == 2024), se=FALSE, span = 0.75)
我没有在这里显示输出,因为您没有设置随机种子,因此您的数据不能完全再现。
PS:可能更适合
mgcv::gam
ggplot2之外的模型。这给了你更精细的控制。