← Back to all sparks
G

ggstatsplot

ANALYTICS
Velocity0.0

ggplot2 Based Plots with Statistical Details

ggstatsplot reached 1.0 by adding tests, having outsourced its statistics years ago.

statistical-plotsggplot2contingency-tableshypothesis-testingr-package
Current state
ggstatsplot produces ggplot2 graphics with statistical test results embedded in the subtitle and caption — comparisons, correlations, contingency tables, histograms. Since the 2019 refactoring that moved all statistical computation into the separate statsExpressions package, its own release notes have been dominated by upstream tracking: adapting to ggplot2, dplyr, purrr and easystats changes. The 1.0.0 release in April 2026 breaks that run with real additions to the contingency-table functions.
Where it's heading
The architecture explains the cadence. With statistics living in statsExpressions, ggstatsplot's own releases are mostly the tax of sitting on top of a fast-moving plotting and tidyverse stack — five of the six most recent entries change nothing a user would notice. When substantive work does arrive it clusters in the plotting layer's coverage of test families, as in 1.0.0's one-sample goodness-of-fit support and pairwise contingency analyses. The maintainer is also visibly deliberate about scope, having removed the normality-curve overlay in 0.12.4 for being unrelated to the analysis in question.
Prediction
Expect continued parity work across the plot family — features that exist in one function being extended to its siblings, as goodness-of-fit support moved from ggpiestats to ggbarstats — punctuated by maintenance releases tracking ggplot2 and easystats.

Recent moves

  1. 3mo ago

    Pairwise contingency tests and one-sample goodness-of-fit

    The first substantive release in over a year. ggbarstats() gains one-sample goodness-of-fit support, matching ggpiestats(), and both compute pairwise Fisher's exact tests when x has more than two levels — exposed through extract_stats() rather than drawn, since bar and pie charts have no natural place to annotate pairwise significance. That restraint is the notable part.

    View source ↗
  2. 4mo ago

    Internal maintenance only

    Dependency and CI updates, explicitly stated as having no user-facing changes. Typical of the pre-1.0.0 stretch.

    View source ↗
  3. 6mo ago

    Adapted to dplyr 1.2.0 and purrr 1.2.1

    A maintenance release absorbing upstream tidyverse API changes. The recurring cost of a package built across several fast-moving dependencies.

    View source ↗
  4. 8mo ago

    Contributor list updated in DESCRIPTION

    A metadata change removing a contributor whose code was fully replaced during the 2019 refactoring. The note is also a useful reminder that all statistical work now lives in statsExpressions.

    View source ↗
  5. 10mo ago

    Secondary axis label parsing fixed in gghistostats

    A parsing fix for secondary axis labels broken by upstream dependency changes. Single-function defect, no behavior change elsewhere.

    View source ↗
  6. 11mo ago

    Adapted to the latest ggplot2 release

    Compatibility-only update tracking ggplot2. No described user-facing change.

    View source ↗