Skip to content

mikmart/ggragged

Repository files navigation

ggragged

Lifecycle: experimental R-CMD-check Codecov test coverage CRAN status

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 that can vary in length.
  • facet_ragged_cols() groups panels into columns that can vary in length.

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
)