Creating an epi curve based on a unique date range and adding trend lines

Hello,

Thank you for clarifying! For #2, you are trying to plot a fill aesthetic and two colour aesthetics which is what is causing issues. ggplot2 will generally put these on different legends since they are different aesthetics. Using manual scales and some overriding, you can get something close to what you desire:

library(tidyverse)
library(lubridate)
#> Loading required package: timechange
#> 
#> Attaching package: 'lubridate'
#> The following objects are masked from 'package:base':
#> 
#>     date, intersect, setdiff, union

# generate demo data

demo_data <- data.frame(
    pno = c(3L,8L,10L,11L,18L,19L,20L,21L,23L,24L),
    date_report = c("2022-12-21","2022-12-23","2022-12-23","2022-12-24","2022-12-25",
                                    "2022-12-25","2022-12-25","2022-12-25", "2022-12-25","2022-12-25"),
    time_report = c("23:50:00","16:15:28","21:25:02","02:57:25","01:51:04","02:55:10",
                                    "04:14:59","04:37:04","05:49:53","05:51:52"),
    date_inj = c("2022-12-21","2022-12-23","2022-12-23","2022-12-23","2022-12-25",
                             "2022-12-25","2022-12-25","2022-12-25","2022-12-22","2022-12-25"),
    time_inj = c("15:00:00","14:40:00","01:00:00","14:00:00","00:30:00","00:00:00",
                             "00:00:00","00:20:00","14:00:00","00:30:00"))

hist_2021 <- data.frame(
    date = c("2022-12-21","2022-12-22","2022-12-23","2022-12-24","2022-12-25","2022-12-26",
                     "2022-12-27","2022-12-28","2022-12-29","2022-12-30","2022-12-31","2023-01-01",
                     "2023-01-02","2023-01-03","2023-01-04","2023-01-05","2023-01-06"),
    n_2021 = c(0L,1L,3L,4L,9L,4L,2L,2L,2L,10L,39L,106L,3L,1L,2L,1L,0L))

hist_5yr <- data.frame(
    date = c("2022-12-21","2022-12-22","2022-12-23","2022-12-24","2022-12-25","2022-12-26",
                     "2022-12-27","2022-12-28","2022-12-29","2022-12-30","2022-12-31","2023-01-01",
                     "2023-01-02","2023-01-03","2023-01-04","2023-01-05","2023-01-06"),
    n_5yr = c(3L,2L,3L,8L,11L,6L,8L,4L,4L,10L,74L,167L,9L,5L,3L,1L,0L))


clean_demo_data <- demo_data |>
    as_tibble() |>
    mutate(
        date_report = ymd(date_report),
        time_report = hms(time_report),
        date_inj = ymd(date_inj),
        time_inj = hms(time_inj)
    )

clean_hist_2021 <-
    hist_2021 |>
    as_tibble() |>
    mutate(date = ymd(date))

clean_hist_5yr <-
    hist_5yr |>
    as_tibble() |>
    mutate(date = ymd(date))
    
clean_demo_data |>
    count(date_inj) |>
    ggplot(mapping = aes(x = date_inj,
                                             y = n,
                                             colour = "2022")) +
    geom_col(fill = "navyblue") +
    geom_line(data = clean_hist_2021,
                        mapping = aes(x = date,
                                                    y = n_2021,
                                                    colour = "2021")) +
    geom_line(data = clean_hist_5yr,
                        mapping = aes(x = date, y = n_5yr, colour = "5-year average")) +
    scale_x_date(breaks = scales::pretty_breaks(),
                             labels = scales::date_format()) +
    scale_y_continuous(breaks = scales::extended_breaks(),
                                         labels = scales::comma_format()) +
    scale_colour_manual(
        values = c("navyblue", "black", "red"),
        breaks = c("2022", "2021", "5-year average"),
        guide = guide_legend(override.aes = list(fill = NA))
    ) +
    labs(x = "\nDate of Injury",
             y = "Number of Injuries\n",
             colour = NULL) +
    theme_minimal()

Created on 2023-01-11 with reprex v2.0.2

Session info
sessioninfo::session_info()
#> ─ Session info ───────────────────────────────────────────────────────────────
#>  setting  value
#>  version  R version 4.2.2 (2022-10-31)
#>  os       macOS Big Sur ... 10.16
#>  system   x86_64, darwin17.0
#>  ui       X11
#>  language (EN)
#>  collate  en_US.UTF-8
#>  ctype    en_US.UTF-8
#>  tz       America/Toronto
#>  date     2023-01-11
#>  pandoc   2.19.2 @ /Applications/RStudio.app/Contents/Resources/app/quarto/bin/tools/ (via rmarkdown)
#> 
#> ─ Packages ───────────────────────────────────────────────────────────────────
#>  package       * version date (UTC) lib source
#>  assertthat      0.2.1   2019-03-21 [1] CRAN (R 4.2.0)
#>  backports       1.4.1   2021-12-13 [1] CRAN (R 4.2.0)
#>  broom           1.0.2   2022-12-15 [1] CRAN (R 4.2.0)
#>  cellranger      1.1.0   2016-07-27 [1] CRAN (R 4.2.0)
#>  cli             3.6.0   2023-01-09 [1] CRAN (R 4.2.2)
#>  colorspace      2.0-3   2022-02-21 [1] CRAN (R 4.2.0)
#>  crayon          1.5.2   2022-09-29 [1] CRAN (R 4.2.0)
#>  curl            4.3.3   2022-10-06 [1] CRAN (R 4.2.0)
#>  DBI             1.1.3   2022-06-18 [1] CRAN (R 4.2.0)
#>  dbplyr          2.2.1   2022-06-27 [1] CRAN (R 4.2.1)
#>  digest          0.6.31  2022-12-11 [1] CRAN (R 4.2.0)
#>  dplyr         * 1.0.10  2022-09-01 [1] RSPM (R 4.2.1)
#>  ellipsis        0.3.2   2021-04-29 [1] CRAN (R 4.2.0)
#>  evaluate        0.19    2022-12-13 [1] CRAN (R 4.2.2)
#>  fansi           1.0.3   2022-03-24 [1] CRAN (R 4.2.0)
#>  farver          2.1.1   2022-07-06 [1] CRAN (R 4.2.0)
#>  fastmap         1.1.0   2021-01-25 [1] CRAN (R 4.2.0)
#>  forcats       * 0.5.2   2022-08-19 [1] RSPM (R 4.2.1)
#>  fs              1.5.2   2021-12-08 [1] CRAN (R 4.2.0)
#>  gargle          1.2.1   2022-09-08 [1] RSPM (R 4.2.1)
#>  generics        0.1.3   2022-07-05 [1] CRAN (R 4.2.0)
#>  ggplot2       * 3.4.0   2022-11-04 [1] CRAN (R 4.2.0)
#>  glue            1.6.2   2022-02-24 [1] CRAN (R 4.2.0)
#>  googledrive     2.0.0   2021-07-08 [1] CRAN (R 4.2.0)
#>  googlesheets4   1.0.1   2022-08-13 [1] CRAN (R 4.2.1)
#>  gtable          0.3.1   2022-09-01 [1] RSPM (R 4.2.1)
#>  haven           2.5.1   2022-08-22 [1] RSPM (R 4.2.1)
#>  highr           0.10    2022-12-22 [1] CRAN (R 4.2.0)
#>  hms             1.1.2   2022-08-19 [1] RSPM (R 4.2.1)
#>  htmltools       0.5.4   2022-12-07 [1] CRAN (R 4.2.0)
#>  httr            1.4.4   2022-08-17 [1] RSPM (R 4.2.1)
#>  jsonlite        1.8.4   2022-12-06 [1] CRAN (R 4.2.0)
#>  knitr           1.41    2022-11-18 [1] CRAN (R 4.2.0)
#>  labeling        0.4.2   2020-10-20 [1] CRAN (R 4.2.0)
#>  lifecycle       1.0.3   2022-10-07 [1] CRAN (R 4.2.1)
#>  lubridate     * 1.9.0   2022-11-06 [1] CRAN (R 4.2.0)
#>  magrittr        2.0.3   2022-03-30 [1] CRAN (R 4.2.0)
#>  mime            0.12    2021-09-28 [1] CRAN (R 4.2.0)
#>  modelr          0.1.10  2022-11-11 [1] CRAN (R 4.2.0)
#>  munsell         0.5.0   2018-06-12 [1] CRAN (R 4.2.0)
#>  pillar          1.8.1   2022-08-19 [1] RSPM (R 4.2.1)
#>  pkgconfig       2.0.3   2019-09-22 [1] CRAN (R 4.2.0)
#>  purrr         * 1.0.1   2023-01-10 [1] CRAN (R 4.2.2)
#>  R.cache         0.16.0  2022-07-21 [1] CRAN (R 4.2.0)
#>  R.methodsS3     1.8.2   2022-06-13 [1] CRAN (R 4.2.0)
#>  R.oo            1.25.0  2022-06-12 [1] CRAN (R 4.2.0)
#>  R.utils         2.12.2  2022-11-11 [1] CRAN (R 4.2.0)
#>  R6              2.5.1   2021-08-19 [1] CRAN (R 4.2.0)
#>  readr         * 2.1.3   2022-10-01 [1] CRAN (R 4.2.0)
#>  readxl          1.4.1   2022-08-17 [1] RSPM (R 4.2.1)
#>  reprex          2.0.2   2022-08-17 [1] RSPM (R 4.2.1)
#>  rlang           1.0.6   2022-09-24 [1] CRAN (R 4.2.0)
#>  rmarkdown       2.19    2022-12-15 [1] CRAN (R 4.2.0)
#>  rstudioapi      0.14    2022-08-22 [1] RSPM (R 4.2.1)
#>  rvest           1.0.3   2022-08-19 [1] RSPM (R 4.2.1)
#>  scales          1.2.1   2022-08-20 [1] RSPM (R 4.2.1)
#>  sessioninfo     1.2.2   2021-12-06 [1] CRAN (R 4.2.0)
#>  stringi         1.7.8   2022-07-11 [1] CRAN (R 4.2.1)
#>  stringr       * 1.5.0   2022-12-02 [1] CRAN (R 4.2.0)
#>  styler          1.8.1   2022-11-07 [1] CRAN (R 4.2.0)
#>  tibble        * 3.1.8   2022-07-22 [1] CRAN (R 4.2.1)
#>  tidyr         * 1.2.1   2022-09-08 [1] RSPM (R 4.2.1)
#>  tidyselect      1.2.0   2022-10-10 [1] CRAN (R 4.2.0)
#>  tidyverse     * 1.3.2   2022-07-18 [1] CRAN (R 4.2.0)
#>  timechange    * 0.1.1   2022-11-04 [1] CRAN (R 4.2.0)
#>  tzdb            0.3.0   2022-03-28 [1] CRAN (R 4.2.0)
#>  utf8            1.2.2   2021-07-24 [1] CRAN (R 4.2.0)
#>  vctrs           0.5.1   2022-11-16 [1] CRAN (R 4.2.2)
#>  withr           2.5.0   2022-03-03 [1] CRAN (R 4.2.0)
#>  xfun            0.36    2022-12-21 [1] CRAN (R 4.2.0)
#>  xml2            1.3.3   2021-11-30 [1] CRAN (R 4.2.0)
#>  yaml            2.3.6   2022-10-18 [1] CRAN (R 4.2.0)
#> 
#>  [1] /Users/timothychisamore/Library/R/x86_64/4.2/library
#>  [2] /Library/Frameworks/R.framework/Versions/4.2/Resources/library
#> 
#> ──────────────────────────────────────────────────────────────────────────────