Multiple time series plot
plotTSGrouped.Rd
This function draws a time series of the values of variable 'Yvar'
with the time variable 'Xvar' on the x-axis.
The categorical variable that specify the group of the observations
for which there will be one time series each.
Expects aggregated data.
Usage
plotTSGrouped(
.data,
xvar = "",
xlabel = "",
yvar = "",
ylabel = "",
group = "",
fill_color = EcdcColors(col_scale = "qual", n = length(unique(.data[[group]]))),
log10_scale = FALSE,
xvar_format = "%Y",
xvar_breaks = "1 year"
)
Arguments
- .data
dataframe containing the variables to plot
- xvar
character string, name of the time variable (expects date format) to plot on the x-axis in quotes
- xlabel
character string, label of the x axis
- yvar
character string, name of the numerical variable to plot on the y-axis in quotes
- ylabel
character string, label of the y axis
- group
character string, name of the grouping variable in quotes, e.g. gender.
- fill_color
character string, hexadecimal colour to use in the graph; (default to ECDC green
"#65B32E"
, seeEcdcColors(col_scale = "qual", n = length(unique(.data[[group]])))
- log10_scale
boolean,
TRUE
if y-axis should be log scale (defaultFALSE
,seeggplot2::scale_y_log10
)- xvar_format
character string, time format to use to plot the x-axis (
"%Y"
for yearly labels or"%b %Y"
for monthly labels)- xvar_breaks
character string, time unit to use to plot the x-axis between breaks (
"1 year"
or"1 month"
, seeggplot2::scale_x_date(date_breaks = ... )
)
See also
Internal function: EcdcColors
Required Packages: ggplot
Examples
# --- Create dummy data
mydat <- data.frame(TimeCode = seq(as.Date("2008/1/1"), as.Date("2017/1/1"), "years"),
YValue = sample(1:79/10, 20),
YLabel = rep(c("Acute", "Chronic"), each = 10))
# --- Plot the dummy data
plotTSGrouped(mydat,
xvar = "TimeCode",
xlabel = "Year",
yvar = "YValue",
ylabel = "Rate per 100 000 population",
group = "YLabel",
log10_scale = TRUE,
xvar_format = "%Y",
xvar_breaks = "1 year")
# --- Create dummy data
mydat <- data.frame(TimeCode = rep(seq(as.Date("2008/1/1"), as.Date("2017/1/1"), "years"), 5),
YValue = c(sample(1:50/10, 10),
sample(1:100/10, 10),
sample(1:300/10, 10),
sample(1:400/10, 10),
sample(1:500/10, 10)),
YLabel = rep(c("United Kingdom",
"France",
"Spain",
"Netherlands",
"Belgium"), each = 10))
# --- Plot the dummy data
plotTSGrouped(mydat,
xvar = "TimeCode",
xlabel = "Year",
yvar = "YValue",
ylabel = "Rate per 100 000 population",
group = "YLabel",
log10_scale = FALSE,
xvar_format = "%Y",
xvar_breaks = "1 year")