Skip to content

πŸ—“ πŸ–¨ Easy, printable, custom calendars and week planners

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE
MIT
LICENSE.md
Notifications You must be signed in to change notification settings

gadenbuie/ggweekly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

29 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ggweekly

The goal of ggweekly is to easily create custom weekly planners with ggplot2.

Installation

You can install ggweekly from GitHub with devtools

devtools::install_github("gadenbuie/ggweekly")

Example

This is a basic example which shows you how to create a weekly planner covering April, May, and June of 2019.

library(ggweekly)
ggweek_planner(
  start_day = "2019-04-01", 
  end_day = "2019-06-30", 
)

You can also create traditional calendars as well.

ggweek_planner(
  start_day = "2019-04-01", 
  end_day = "2019-06-30", 
  show_month_boundaries = FALSE, 
  show_month_start_day = FALSE,
  week_start = "isoweek",
  week_start_label = "week"
) + 
  ggplot2::ggtitle("2019") +
  ggplot2::facet_wrap(~ month, scales = 'free')

Use week_start to choose between weeks that start on Monday ("isoweek") or weeks that start on Sunday ("epiweek"). You can also set (or remove) the weekend color fill with weekend_fill.

ggweek_planner(
  start_day = "2019-04-01", 
  end_day = "2019-06-30", 
  show_month_boundaries = FALSE, 
  show_month_start_day = FALSE,
  week_start = "epiweek",
  week_start_label = "week",
  weekend_fill = "#FFFFFF"
) + 
  ggplot2::ggtitle("2019") +
  ggplot2::facet_wrap(~ month, scales = 'free')

Project Planning

Create a tibble of days to highlight and pass into highlight_days.

project_days <- dplyr::tribble(
          ~day,             ~label,    ~color,     ~fill,
  "2019-07-02", "Project Kick Off", "#02307a", "#02307a",
  "2019-07-12",          "LOI Due", "#02307a", "#02307a",
  "2019-07-26",      "First Draft", "#02307a", "#02307a",
  "2019-08-05",        "Work week", "#bf006c", "#bf006c",
  "2019-08-06",                 NA,        NA, "#bf006c",
  "2019-08-07",                 NA,        NA, "#bf006c",
  "2019-08-08",                 NA,        NA, "#bf006c",
  "2019-08-09",                 NA,        NA, "#bf006c",
  "2019-08-23", "Final Submission", "#02307a", "#02307a"
)


ggweek_planner(
  start_day = "2019-07-01",
  highlight_days = project_days
) +
  ggplot2::ggtitle("A Very Important Project")

Printable Calendars

Here’s a printable calendar of 8 week time periods for 2019 and 2020:

The code chunk below shows how this PDF was created and can be adjusted as needed. I included margins to the left and below the calendar for extra notes.

start_date <- lubridate::floor_date(lubridate::ymd("2019-01-01"), "week", week_start = 1)
end_date <- lubridate::ceiling_date(lubridate::ymd("2019-12-31"), "week", week_start = 1) - 
  lubridate::days(1)
week_dates <- seq(start_date, end_date, by = "56 day")

pdf(here::here("printable", "2019-weekly-planner.pdf"), width = 8.5, height = 11)
for (idx_week in seq_along(week_dates)) {
  gcal <- ggweek_planner(start_day = week_dates[idx_week]) +
    ggplot2::theme(plot.margin = ggplot2::margin(1, 2, 3, 0.5, "in")) +
    ggplot2::ggtitle(paste(
      strftime(week_dates[idx_week], "%B %e, %Y"),
      strftime(week_dates[idx_week] + 55, "%B %e, %Y"),
      sep = " β€” "
    ))
  print(gcal)
}
dev.off()
#> png 
#>   2
#> png 
#>   2

And here are fullpage yearly calendars for 2019 and 2020.

g2019 <- ggweek_planner(
  start_day = "2019-01-01", 
  end_day = "2019-12-31", 
  show_day_numbers = TRUE, 
  show_month_boundaries = FALSE, 
  show_month_start_day = FALSE,
  week_start_label = "week"
) + 
  ggplot2::ggtitle("2019") +
  ggplot2::facet_wrap(~ month, scales = 'free')

ggplot2::ggsave(
  file = here::here("printable", "2019-full-year.pdf"),
  plot = g2019,
  width = 11, height = 8.5
)

Please note that the β€˜ggweekly’ project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

About

πŸ—“ πŸ–¨ Easy, printable, custom calendars and week planners

Topics

Resources

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE
MIT
LICENSE.md

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages