Description
Ragged Grids for 'ggplot2'.
Description
Extend 'ggplot2' facets to panel layouts arranged in a grid with ragged edges. facet_ragged_rows() groups panels in rows of (potentially) varying lengths, facet_ragged_cols() does the same for columns. These can be useful, for example, to represent nested or partially crossed relationships between faceting variables.
README.md
ggragged
ggragged extends the faceting system in ggplot2 to ragged grids – a hybrid layout between facet_wrap()
and facet_grid()
.
facet_ragged_rows()
groups panels into rows of (potentially) varying lengths.facet_ragged_cols()
groups panels into columns of (potentially) varying lengths.
Installation
Install the current release from CRAN:
install.packages("ggragged")
Or the development version from GitHub:
remotes::install_github("mikmart/ggragged")
Example
Ragged grids can be used to clearly separate nested hierarchies in the panel layout:
library(ggplot2)
library(ggragged)
p <- ggplot(Indometh, aes(time, conc)) + geom_line()
# Panels for each subject, with cohorts on separate rows
p + facet_ragged_rows(
vars(Cohort = 1 + Subject %in% 3:6),
vars(Subject = as.character(Subject)),
labeller = label_both
)
# Panels for each subject, with cohorts in separate columns
p + facet_ragged_cols(
vars(Subject = as.character(Subject)),
vars(Cohort = 1 + Subject %in% 3:6),
labeller = label_both
)