This is a wrapper for plot_time_series() that generates an interactive (plotly) or static (ggplot2) plot with the forecasted data.

  .conf_interval_show = TRUE,
  .conf_interval_fill = "grey20",
  .conf_interval_alpha = 0.2,
  .smooth = FALSE,
  .legend_show = TRUE,
  .legend_max_width = 40,
  .title = "Forecast Plot",
  .x_lab = "",
  .y_lab = "",
  .color_lab = "Legend",
  .interactive = TRUE,
  .plotly_slider = FALSE,



A tibble that is the output of modeltime_forecast()


Logical. Whether or not to include the confidence interval as a ribbon.


Fill color for the confidence interval


Fill opacity for the confidence interval. Range (0, 1).


Logical - Whether or not to include a trendline smoother. Uses See smooth_vec() to apply a LOESS smoother.


Logical. Whether or not to show the legend. Can save space with long model descriptions.


Numeric. The width of truncation to apply to the legend text.


Title for the plot


X-axis label for the plot


Y-axis label for the plot


Legend label if a color_var is used.


Returns either a static (ggplot2) visualization or an interactive (plotly) visualization


If TRUE, returns a plotly date range slider.


Additional arguments passed to timetk::plot_time_series().


A static ggplot2 plot or an interactive plotly plot containing a forecast


library(tidyverse) library(lubridate) library(timetk) library(parsnip) library(rsample) library(modeltime) # Data m750 <- m4_monthly %>% filter(id == "M750") # Split Data 80/20 splits <- initial_time_split(m750, prop = 0.9) # --- MODELS --- # Model 1: prophet ---- model_fit_prophet <- prophet_reg() %>% set_engine(engine = "prophet") %>% fit(value ~ date, data = training(splits))
#> Disabling weekly seasonality. Run prophet with weekly.seasonality=TRUE to override this.
#> Disabling daily seasonality. Run prophet with daily.seasonality=TRUE to override this.
# ---- MODELTIME TABLE ---- models_tbl <- modeltime_table( model_fit_prophet ) # ---- FORECAST ---- models_tbl %>% modeltime_calibrate(new_data = testing(splits)) %>% modeltime_forecast( new_data = testing(splits), actual_data = m750 ) %>% plot_modeltime_forecast(.interactive = FALSE)
#> Warning: no non-missing arguments to max; returning -Inf