从预测包中消除自动绘图中历史和预测之间的差距

Removing gap between historical and forecasted in autoplot from forecast package

?autoplot.forecast
If showgap=FALSE, the gap between the historical observations and the forecasts is removed.

但是,对我来说它没有被删除。

library(forecast)

d <- ts(rnorm(36), start = c(2021, 1), frequency = 12)

fc <- snaive(d, h = 12)

autoplot(fc, showgap = FALSE)

但是使用 plot 效果很好

plot(fc, showgap = FALSE)

OP,本来以为是forecast::autoplot()函数的bug,结果发现不是。当您在 'forecast' 对象上使用 plot() 时,函数 plot.forecast() 为 运行,包含 showgap= 参数。命令 ?autoplot.forecast 确实指示 showgap= 参数,但不适用于 autoplot() - 它用于 plot.forecast() 函数。

好消息是 autolayer(...) 中似乎有一个方法包含此参数,您可以使用它。即再次检查帮助 plot.forecast() 稍微低一点,你会看到这个:

## S3 method for class 'forecast'
autolayer(object, series = NULL, PI = TRUE, showgap = TRUE, ...)

我们可以将 autolayer()autoplot() 配合使用。所以,这似乎有效:

autoplot(fc) + autolayer(fc, showgap = F)