View source: R/geom_epigantt.R
geom_epigantt | R Documentation |
Creates Epi Gantt charts, which are specialized timeline visualizations used in outbreak investigations to track potential exposure periods and identify transmission patterns. They are particularly useful for:
Hospital outbreak investigations to visualize patient movements between wards
Identifying potential transmission events by showing when cases were in the same location
Visualizing common exposure times using overlapping exposure time intervals
The chart displays time intervals as horizontal bars, typically with one row per case/patient. Different colours can be used to represent different locations (e.g., hospital wards) or exposure types. Additional points or markers can show important events like symptom onset or test dates.
geom_epigantt()
will adjust the linewidth depending on the number of cases.
geom_epigantt(
mapping = NULL,
data = NULL,
stat = "identity",
position = "identity",
...,
na.rm = FALSE,
show.legend = NA,
inherit.aes = TRUE
)
mapping |
Set of aesthetic mappings. Must include:
|
data |
The data to be displayed in this layer. There are three options: If A A |
stat |
A |
position |
A |
... |
Additional parameters:
|
na.rm |
If |
show.legend |
logical. Should this layer be included in the legends?
|
inherit.aes |
If |
A ggplot2
geom layer that can be added to a plot
theme_mod_legend_bottom()
library(dplyr)
library(tidyr)
library(ggplot2)
# Transform hospital outbreak line list to long format
linelist_hospital_outbreak |>
pivot_longer(
cols = starts_with("ward"),
names_to = c(".value", "num"),
names_pattern = "ward_(name|start_of_stay|end_of_stay)_([0-9]+)",
values_drop_na = TRUE
) -> df_stays_long
linelist_hospital_outbreak |>
pivot_longer(cols = starts_with("pathogen"), values_to = "date") -> df_detections_long
# Create Epi Gantt chart showing ward stays and test dates
ggplot(df_stays_long) +
geom_epigantt(aes(y = Patient, xmin = start_of_stay, xmax = end_of_stay, color = name)) +
geom_point(aes(y = Patient, x = date, shape = "Date of pathogen detection"),
data = df_detections_long
) +
scale_y_discrete_reverse() +
theme_bw() +
theme_mod_legend_bottom()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.