在 R 预测中为预测值和实际值添加图例

Add legend for forecast and actual values in R forecasting

提问人:zemphis 提问时间:11/7/2023 最后编辑:zemphis 更新时间:11/7/2023 访问量:38

问:

我正在尝试将图例添加到显示实际数据和预测数据的时间序列图中。

我有一个模型,该模型是使用存储在tbl_ts中的训练数据构建的,然后用于预测未来 60 天。

我有这个代码,它给出了下图

data <- tsibble(
  date = as.Date("2017-01-01") + 0:729,
  value = rnorm(730)
)

train_data <- data %>%
  slice(1:670)

test_data <- data %>%
  slice(n() -59:0)

naive_model_all <- data %>%
  model(SNAIVE(value))

 naive_model_all %>%
  forecast(h=60) %>%
  autoplot(data)+
  labs(y="Value",
       x="Date") 

图表生成

我想做的是添加一个图例,说明黑色是实际值,蓝色是预测值。

我尝试了以下方法,但它没有给出图例,只是生成与以前相同的图表。

naive_model_all %>%
  forecast(h=60) %>%
  autoplot(series='Forecast') + 
  autolayer(data, series='Data')+
  guides(colour=guide_legend(title="Data series"), 
         fill=guide_legend(title="Prediction interval"))
 
 
 

它还会发出警告,指出“series”是一个未知参数。

1: In distributional::geom_hilo_ribbon(intvl_mapping, data = dplyr::anti_join(interval_data,  :
  Ignoring unknown parameters: `series`
2: In distributional::geom_hilo_linerange(intvl_mapping, data = dplyr::semi_join(interval_data,  :
  Ignoring unknown parameters: `series`
3: In geom_line(mapping = mapping, data = dplyr::anti_join(object,  :
  Ignoring unknown parameters: `series`
4: In ggplot2::geom_point(mapping = mapping, data = dplyr::semi_join(object,  :
  Ignoring unknown parameters: `series`
5: In geom_line(eval_tidy(expr(aes(!!!aes_spec))), data = object, ...,  :
  Ignoring unknown parameters: `series

如何让图例显示为黑色显示实际数据,以蓝色显示预测数据? 谢谢

R GGPLOT2 时间序列 预测

评论


答: 暂无答案