Learn R Programming

grates (version 1.4.3)

scale_x_grates_yearweek: Yearweek scale

Description

ggplot2 scale for an <grates_yearweek> vector.

Usage

scale_x_grates_yearweek(
  ...,
  breaks = ggplot2::waiver(),
  n.breaks = 6L,
  firstday,
  format = NULL
)

scale_x_grates_yearweek_monday( ..., breaks = ggplot2::waiver(), n.breaks = 6, format = NULL )

scale_x_grates_yearweek_isoweek( ..., breaks = ggplot2::waiver(), n.breaks = 6, format = NULL )

scale_x_grates_yearweek_tuesday( ..., breaks = ggplot2::waiver(), n.breaks = 6, format = NULL )

scale_x_grates_yearweek_wednesday( ..., breaks = ggplot2::waiver(), n.breaks = 6, format = NULL )

scale_x_grates_yearweek_thursday( ..., breaks = ggplot2::waiver(), n.breaks = 6, format = NULL )

scale_x_grates_yearweek_friday( ..., breaks = ggplot2::waiver(), n.breaks = 6, format = NULL )

scale_x_grates_yearweek_saturday( ..., breaks = ggplot2::waiver(), n.breaks = 6, format = NULL )

scale_x_grates_yearweek_sunday( ..., breaks = ggplot2::waiver(), n.breaks = 6, format = NULL )

scale_x_grates_yearweek_epiweek( ..., breaks = ggplot2::waiver(), n.breaks = 6, format = NULL )

Value

A scale for use with ggplot2.

Arguments

...

Not currently used.

breaks

A <grates_yearweek> vector of the desired breaks.

n.breaks

[integer]

Approximate number of breaks calculated using scales::breaks_pretty (default 6L).

Will only have an effect if breaks = waiver().

firstday

[integer]

Integer value of the first weekday: 1 (Monday) to 7 (Sunday).

format

Format to use if "Date" scales are required.

If NULL (default) then labels are in the standard yearweek format (YYYY-Www).

If "week" then the labels are of the form Www (e.g. W37).

Otherwise the value is used by format.Date() and can be any input acceptable by that function.

Examples

Run this code
if (FALSE) { # requireNamespace("outbreaks") && requireNamespace("ggplot2")

# use simulated linelist data from the outbreaks package
linelist <- outbreaks::ebola_sim_clean$linelist
x <- as_yearweek(linelist$date_of_infection, firstday = 4)
dat <- aggregate(list(cases = x), by = list(week = x), FUN = length)

# plot the output
(week_plot <-
    ggplot2::ggplot(dat, ggplot2::aes(week, cases)) +
    ggplot2::geom_col(width = 1, colour = "white") +
    ggplot2::theme_bw())

# We can have non-centred date labels on the x_axis by using the
# associated scale function and explicitly specifying a format for the
# date labels and a value for firstday:
week_plot + scale_x_grates_yearweek(format = "%Y-%m-%d", firstday = 4)
}

Run the code above in your browser using DataLab