fable, tsibble, ggplot2, the Legend Key on the RHS fails to map forecast interval levels to fill aesthetics, defaulting to black

Hi,

Using fable, tsibble, ggplot2, the Legend Key on the RHS fails to map forecast interval levels to fill aesthetics, defaulting to black.

Here's a minimal example

library(fable)
library(tsibble)
library(ggplot2)

set.seed(123)

# Create a simple time series
data <- tsibble(
  date = yearmonth("2000 Jan") + 0:59,
  value = rnorm(60, 100, 10),
  index = date
)

# Fit a basic ARIMA model
fit <- data |> model(arima = ARIMA(value))

# Generate forecast with intervals
fc <- fit |> forecast(h = 12)

# Minimal autoplot
autoplot(fc, data) +
  ggtitle("Minimal Fan Chart Example")

I have the following package versions

fable: 0.4.1
tsibble: 1.1.6
ggplot2: 4.0.0

Cheers,
Amarjit

The autoplot() function for fable objects is in the fabletools package. Using the latest version (0.5.1) works:

library(fable)
#> Loading required package: fabletools
#> Registered S3 method overwritten by 'tsibble':
#>   method               from 
#>   as_tibble.grouped_df dplyr
library(tsibble)
#> 
#> Attaching package: 'tsibble'
#> The following objects are masked from 'package:base':
#> 
#>     intersect, setdiff, union
library(ggplot2)

set.seed(123)

# Create a simple time series
data <- tsibble(
  date = yearmonth("2000 Jan") + 0:59,
  value = rnorm(60, 100, 10),
  index = date
)

# Fit a basic ARIMA model
fit <- data |> model(arima = ARIMA(value))

# Generate forecast with intervals
fc <- fit |> forecast(h = 12)

# Minimal autoplot
autoplot(fc, data) +
  ggtitle("Minimal Fan Chart Example")

Created on 2025-09-13 with reprex v2.1.1

Session info

sessioninfo::session_info()
#> ─ Session info ───────────────────────────────────────────────────────────────
#>  setting  value
#>  version  R version 4.5.1 (2025-06-13)
#>  os       KDE neon User Edition
#>  system   x86_64, linux-gnu
#>  ui       X11
#>  language (EN)
#>  collate  en_AU.UTF-8
#>  ctype    en_AU.UTF-8
#>  tz       Australia/Melbourne
#>  date     2025-09-13
#>  pandoc   3.7.0.2 @ /usr/bin/ (via rmarkdown)
#>  quarto   1.8.24 @ /usr/local/bin/quarto
#> 
#> ─ Packages ───────────────────────────────────────────────────────────────────
#>  package        * version    date (UTC) lib source
#>  anytime          0.3.12     2025-07-14 [1] RSPM (R 4.5.1)
#>  cli              3.6.5      2025-04-23 [1] RSPM (R 4.5.0)
#>  curl             7.0.0      2025-08-19 [1] RSPM (R 4.5.0)
#>  dichromat        2.0-0.1    2022-05-02 [1] RSPM
#>  digest           0.6.37     2024-08-19 [1] RSPM
#>  distributional   0.5.0      2024-09-17 [1] RSPM
#>  dplyr            1.1.4      2023-11-17 [1] RSPM (R 4.5.0)
#>  ellipsis         0.3.2      2021-04-29 [1] RSPM
#>  evaluate         1.0.5      2025-08-27 [1] RSPM (R 4.5.0)
#>  fable          * 0.4.1.9000 2025-07-20 [1] Github (tidyverts/fable@4411495)
#>  fabletools     * 0.5.1      2025-09-01 [1] RSPM (R 4.5.0)
#>  farver           2.1.2      2024-05-13 [1] RSPM
#>  fastmap          1.2.0      2024-05-15 [1] RSPM
#>  feasts           0.4.2      2025-08-27 [1] RSPM (R 4.5.0)
#>  fs               1.6.6      2025-04-12 [1] RSPM
#>  generics         0.1.4      2025-05-09 [1] RSPM (R 4.5.0)
#>  ggdist           3.3.3      2025-04-23 [1] RSPM (R 4.5.0)
#>  ggplot2        * 3.5.2      2025-04-09 [1] RSPM (R 4.5.1)
#>  glue             1.8.0      2024-09-30 [1] RSPM
#>  gtable           0.3.6      2024-10-25 [1] RSPM
#>  htmltools        0.5.8.1    2024-04-04 [1] RSPM
#>  knitr            1.50       2025-03-16 [1] RSPM
#>  labeling         0.4.3      2023-08-29 [1] RSPM
#>  lattice          0.22-7     2025-04-02 [1] RSPM
#>  lifecycle        1.0.4      2023-11-07 [1] RSPM
#>  lubridate        1.9.4      2024-12-08 [1] RSPM
#>  magrittr         2.0.3      2022-03-30 [1] RSPM
#>  nlme             3.1-168    2025-03-31 [1] RSPM
#>  pillar           1.11.0     2025-07-04 [1] RSPM (R 4.5.0)
#>  pkgconfig        2.0.3      2019-09-22 [1] RSPM
#>  progressr        0.15.1     2024-11-22 [1] RSPM
#>  purrr            1.1.0      2025-07-10 [1] RSPM (R 4.5.0)
#>  R6               2.6.1      2025-02-15 [1] RSPM
#>  RColorBrewer     1.1-3      2022-04-03 [1] RSPM
#>  Rcpp             1.1.0      2025-07-02 [1] RSPM
#>  reprex           2.1.1      2024-07-06 [1] RSPM
#>  rlang            1.1.6      2025-04-11 [1] RSPM
#>  rmarkdown        2.29       2024-11-04 [1] RSPM
#>  rstudioapi       0.17.1     2024-10-22 [1] RSPM
#>  scales           1.4.0      2025-04-24 [1] RSPM (R 4.5.0)
#>  sessioninfo      1.2.3      2025-02-05 [1] RSPM
#>  tibble           3.3.0      2025-06-08 [1] RSPM (R 4.5.0)
#>  tidyr            1.3.1      2024-01-24 [1] RSPM
#>  tidyselect       1.2.1      2024-03-11 [1] RSPM
#>  timechange       0.3.0      2024-01-18 [1] RSPM
#>  tsibble        * 1.1.6      2025-05-30 [1] local
#>  urca             1.3-4      2024-05-27 [1] RSPM
#>  vctrs            0.6.5      2023-12-01 [1] RSPM
#>  withr            3.0.2      2024-10-28 [1] RSPM
#>  xfun             0.53       2025-08-19 [1] RSPM (R 4.5.0)
#>  xml2             1.4.0      2025-08-20 [1] RSPM (R 4.5.0)
#>  yaml             2.3.10     2024-07-26 [1] RSPM
#> 
#>  [1] /home/hyndman/R/x86_64-pc-linux-gnu-library/4.5
#>  [2] /usr/local/lib/R/site-library
#>  [3] /usr/lib/R/site-library
#>  [4] /usr/lib/R/library
#>  * ── Packages attached to the search path.
#> 
#> ──────────────────────────────────────────────────────────────────────────────

Hi Rob,

Thanks for the reply.

I have fresh installed R, Rtools, RStudio, and the latest package versions on CRAN that I require.

Black legend keys on the RHS.

> sessioninfo::session_info()
─ Session info ────────────────────────────────────────────────────────────────────────────────────────────────────
 setting  value
 version  R version 4.5.1 (2025-06-13 ucrt)
 os       Windows 11 x64 (build 26100)
 system   x86_64, mingw32
 ui       RStudio
 language (EN)
 collate  English_United Kingdom.utf8
 ctype    English_United Kingdom.utf8
 tz       Europe/London
 date     2025-09-13
 rstudio  2025.09.0+387 Cucumberleaf Sunflower (desktop)
 pandoc   NA
 quarto   ERROR: Unknown command "TMPDIR=C:/Users/achan/AppData/Local/Temp/Rtmp4AwRFk/file22b42e2e2048". Did you mean command "install"? @ C:\\Users\\achan\\AppData\\Local\\Programs\\Quarto\\bin\\quarto.exe

─ Packages ────────────────────────────────────────────────────────────────────────────────────────────────────────
 package        * version date (UTC) lib source
 anytime          0.3.12  2025-07-14 [1] CRAN (R 4.5.1)
 cli              3.6.5   2025-04-23 [1] CRAN (R 4.5.1)
 digest           0.6.37  2024-08-19 [1] CRAN (R 4.5.1)
 distributional   0.5.0   2024-09-17 [1] CRAN (R 4.5.1)
 dplyr            1.1.4   2023-11-17 [1] CRAN (R 4.5.1)
 ellipsis         0.3.2   2021-04-29 [1] CRAN (R 4.5.1)
 fable          * 0.4.1   2024-11-05 [1] CRAN (R 4.5.1)
 fabletools     * 0.5.1   2025-09-01 [1] CRAN (R 4.5.1)
 farver           2.1.2   2024-05-13 [1] CRAN (R 4.5.1)
 feasts           0.4.2   2025-08-27 [1] CRAN (R 4.5.1)
 generics         0.1.4   2025-05-09 [1] CRAN (R 4.5.1)
 ggdist           3.3.3   2025-04-23 [1] CRAN (R 4.5.1)
 ggplot2        * 4.0.0   2025-09-11 [1] CRAN (R 4.5.1)
 glue             1.8.0   2024-09-30 [1] CRAN (R 4.5.1)
 gtable           0.3.6   2024-10-25 [1] CRAN (R 4.5.1)
 labeling         0.4.3   2023-08-29 [1] CRAN (R 4.5.0)
 lattice          0.22-7  2025-04-02 [2] CRAN (R 4.5.1)
 lifecycle        1.0.4   2023-11-07 [1] CRAN (R 4.5.1)
 lubridate        1.9.4   2024-12-08 [1] CRAN (R 4.5.1)
 magrittr         2.0.4   2025-09-12 [1] CRAN (R 4.5.1)
 nlme             3.1-168 2025-03-31 [2] CRAN (R 4.5.1)
 pillar           1.11.0  2025-07-04 [1] CRAN (R 4.5.1)
 pkgconfig        2.0.3   2019-09-22 [1] CRAN (R 4.5.1)
 progressr        0.15.1  2024-11-22 [1] CRAN (R 4.5.1)
 purrr            1.1.0   2025-07-10 [1] CRAN (R 4.5.1)
 R6               2.6.1   2025-02-15 [1] CRAN (R 4.5.1)
 RColorBrewer     1.1-3   2022-04-03 [1] CRAN (R 4.5.0)
 Rcpp             1.1.0   2025-07-02 [1] CRAN (R 4.5.1)
 rlang            1.1.6   2025-04-11 [1] CRAN (R 4.5.1)
 rstudioapi       0.17.1  2024-10-22 [1] CRAN (R 4.5.1)
 S7               0.2.0   2024-11-07 [1] CRAN (R 4.5.1)
 scales           1.4.0   2025-04-24 [1] CRAN (R 4.5.1)
 sessioninfo      1.2.3   2025-02-05 [1] CRAN (R 4.5.1)
 tibble           3.3.0   2025-06-08 [1] CRAN (R 4.5.1)
 tidyr            1.3.1   2024-01-24 [1] CRAN (R 4.5.1)
 tidyselect       1.2.1   2024-03-11 [1] CRAN (R 4.5.1)
 timechange       0.3.0   2024-01-18 [1] CRAN (R 4.5.1)
 tsibble        * 1.1.6   2025-01-30 [1] CRAN (R 4.5.1)
 urca             1.3-4   2024-05-27 [1] CRAN (R 4.5.1)
 vctrs            0.6.5   2023-12-01 [1] CRAN (R 4.5.1)
 withr            3.0.2   2024-10-28 [1] CRAN (R 4.5.1)

 [1] C:/Users/achan/AppData/Local/R/win-library/4.5
 [2] C:/Program Files/R/R-4.5.1/library
 * ── Packages attached to the search path.

───────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Warning message:
In system2("quarto", "-V", stdout = TRUE, env = paste0("TMPDIR=",  :
  running command '"quarto" TMPDIR=C:/Users/achan/AppData/Local/Temp/Rtmp4AwRFk/file22b42e2e2048 -V' had status 1

As an aside do you know how to resolve the quarto and pandoc error(s)?

 pandoc   NA
 quarto   ERROR: Unknown command "TMPDIR=C:/Users/achan/AppData/Local/Temp/Rtmp4AwRFk/file22b42e2e2048". Did you mean command "install"? @ C:\\Users\\achan\\AppData\\Local\\Programs\\Quarto\\bin\\quarto.exe
Warning message:
In system2("quarto", "-V", stdout = TRUE, env = paste0("TMPDIR=",  :
  running command '"quarto" TMPDIR=C:/Users/achan/AppData/Local/Temp/Rtmp4AwRFk/file22b42e2e2048 -V' had status 1

For normal legend keys on the RHS, and to not display quarto errors, but it still says pandoc NA, I have had to install the following versions :

remotes::install_version("sessioninfo", "1.2.2")
pak::pak("ggplot2@3.5.2")
> sessioninfo::session_info()
─ Session info ────────────────────────────────────────────────────────────────────────────────────────────────────
 setting  value
 version  R version 4.5.1 (2025-06-13 ucrt)
 os       Windows 11 x64 (build 26100)
 system   x86_64, mingw32
 ui       RStudio
 language (EN)
 collate  English_United Kingdom.utf8
 ctype    English_United Kingdom.utf8
 tz       Europe/London
 date     2025-09-13
 rstudio  2025.09.0+387 Cucumberleaf Sunflower (desktop)
 pandoc   NA

─ Packages ────────────────────────────────────────────────────────────────────────────────────────────────────────
 package        * version date (UTC) lib source
 anytime          0.3.12  2025-07-14 [1] CRAN (R 4.5.1)
 cli              3.6.5   2025-04-23 [1] CRAN (R 4.5.1)
 digest           0.6.37  2024-08-19 [1] CRAN (R 4.5.1)
 distributional   0.5.0   2024-09-17 [1] CRAN (R 4.5.1)
 dplyr            1.1.4   2023-11-17 [1] CRAN (R 4.5.1)
 ellipsis         0.3.2   2021-04-29 [1] CRAN (R 4.5.1)
 fable          * 0.4.1   2024-11-05 [1] CRAN (R 4.5.1)
 fabletools     * 0.5.1   2025-09-01 [1] CRAN (R 4.5.1)
 farver           2.1.2   2024-05-13 [1] CRAN (R 4.5.1)
 feasts           0.4.2   2025-08-27 [1] CRAN (R 4.5.1)
 generics         0.1.4   2025-05-09 [1] CRAN (R 4.5.1)
 ggdist           3.3.3   2025-04-23 [1] CRAN (R 4.5.1)
 ggplot2        * 3.5.2   2025-04-09 [1] CRAN (R 4.5.1)
 glue             1.8.0   2024-09-30 [1] CRAN (R 4.5.1)
 gtable           0.3.6   2024-10-25 [1] CRAN (R 4.5.1)
 labeling         0.4.3   2023-08-29 [1] CRAN (R 4.5.0)
 lattice          0.22-7  2025-04-02 [2] CRAN (R 4.5.1)
 lifecycle        1.0.4   2023-11-07 [1] CRAN (R 4.5.1)
 lubridate        1.9.4   2024-12-08 [1] CRAN (R 4.5.1)
 magrittr         2.0.4   2025-09-12 [1] CRAN (R 4.5.1)
 nlme             3.1-168 2025-03-31 [2] CRAN (R 4.5.1)
 pillar           1.11.0  2025-07-04 [1] CRAN (R 4.5.1)
 pkgconfig        2.0.3   2019-09-22 [1] CRAN (R 4.5.1)
 progressr        0.15.1  2024-11-22 [1] CRAN (R 4.5.1)
 purrr            1.1.0   2025-07-10 [1] CRAN (R 4.5.1)
 R6               2.6.1   2025-02-15 [1] CRAN (R 4.5.1)
 RColorBrewer     1.1-3   2022-04-03 [1] CRAN (R 4.5.0)
 Rcpp             1.1.0   2025-07-02 [1] CRAN (R 4.5.1)
 rlang            1.1.6   2025-04-11 [1] CRAN (R 4.5.1)
 rstudioapi       0.17.1  2024-10-22 [1] CRAN (R 4.5.1)
 scales           1.4.0   2025-04-24 [1] CRAN (R 4.5.1)
 sessioninfo      1.2.2   2021-12-06 [1] CRAN (R 4.5.1)
 tibble           3.3.0   2025-06-08 [1] CRAN (R 4.5.1)
 tidyr            1.3.1   2024-01-24 [1] CRAN (R 4.5.1)
 tidyselect       1.2.1   2024-03-11 [1] CRAN (R 4.5.1)
 timechange       0.3.0   2024-01-18 [1] CRAN (R 4.5.1)
 tsibble        * 1.1.6   2025-01-30 [1] CRAN (R 4.5.1)
 urca             1.3-4   2024-05-27 [1] CRAN (R 4.5.1)
 vctrs            0.6.5   2023-12-01 [1] CRAN (R 4.5.1)
 withr            3.0.2   2024-10-28 [1] CRAN (R 4.5.1)

 [1] C:/Users/achan/AppData/Local/R/win-library/4.5
 [2] C:/Program Files/R/R-4.5.1/library

Hi,

Has the Legend Key been fixed to work with ggplot2: 4.0.0, yet ?

Amarjit

Bug introduced in ggplot v4.0.0.
Fixed in both the development versions of ggplot2 and ggdist.

# development version from GitHub:
# install.packages("pak")
pak::pak("tidyverse/ggplot2")

install.packages("devtools")
devtools::install_github("mjskay/ggdist")

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.

If you have a query related to it or one of the replies, start a new topic and refer back with a link.