ggspec: Extract and Compare 'ggplot2' Plot Specifications as Tidy Data Frames

Inspects 'ggplot' objects by extracting their full declarative specification - layers, aesthetic mappings, scales, facets, coordinate systems, and labels - as tidy data frames. A second tier of functions enables structural comparison of two 'ggplot' objects, supporting automated plot testing, auditing, and framework-agnostic grading workflows. Unlike 'ggcheck', which is designed exclusively for 'learnr'/'gradethis' pipelines and returns ad-hoc objects, 'ggspec' returns rectangular, pipeable output and does not require any grading framework as a dependency.

Version: 0.1.0
Depends: R (≥ 4.1.0)
Imports: ggplot2 (≥ 3.4.0), rlang (≥ 1.1.0), tibble (≥ 3.2.0), dplyr (≥ 1.1.0)
Suggests: learnr, palmerpenguins, testthat (≥ 3.0.0), knitr, rmarkdown, MASS, covr
Published: 2026-05-28
DOI: 10.32614/CRAN.package.ggspec (may not be active yet)
Author: Clement Lee ORCID iD [aut, cre]
Maintainer: Clement Lee <clement.lee.tm at outlook.com>
BugReports: https://github.com/clement-lee/ggspec/issues
License: MIT + file LICENSE
URL: https://github.com/clement-lee/ggspec
NeedsCompilation: no
Materials: README, NEWS
CRAN checks: ggspec results

Documentation:

Reference manual: ggspec.html , ggspec.pdf
Vignettes: Equivalence Patterns and Canonicalisation Modes (source, R code)
Extracting Plot Specifications with ggspec (source, R code)
Plot Grading and Testing with ggspec (source, R code)

Downloads:

Package source: ggspec_0.1.0.tar.gz
Windows binaries: r-devel: not available, r-release: not available, r-oldrel: not available
macOS binaries: r-release (arm64): ggspec_0.1.0.tgz, r-oldrel (arm64): ggspec_0.1.0.tgz, r-release (x86_64): ggspec_0.1.0.tgz, r-oldrel (x86_64): ggspec_0.1.0.tgz

Linking:

Please use the canonical form https://CRAN.R-project.org/package=ggspec to link to this page.