← Back to home
Comparison · Analytics

ggcorrplot vs ggstatsplot

A side-by-side editorial comparison of ggcorrplot and ggstatsplot — release velocity, themes, recent moves, and the top alternatives to consider.

Shared themes:ggplot2

ggcorrplot vs ggstatsplot: at a glance

Featureggcorrplotggstatsplot
SectorAnalyticsAnalytics
Velocity score2.50.0
Sparks · 30d00
Top themescorrelation, r, ggplot2, visualizationstatistical-plots, ggplot2, contingency-tables, hypothesis-testing
Last editorial update3h ago1h ago
WebsiteVisit →Visit →

What is ggcorrplot?

ggcorrplot came back after four years and found its significance markers had been lying

ggcorrplot draws correlation matrices in ggplot2 with optional significance marking and hierarchical reordering. It sat untouched from late 2022 until mid-2026, then shipped 0.2.0 and 0.3.0 sixteen days apart. Between them they added the display options users had been requesting since 2016 and repaired a set of bugs where hc.order = TRUE silently changed which cells were marked significant.

Read the full ggcorrplot trajectory →

What is ggstatsplot?

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

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.

Read the full ggstatsplot trajectory →

ggcorrplot vs ggstatsplot: editorial side-by-side

G
ggcorrplot
ANALYTICS
2.5

ggcorrplot came back after four years and found its significance markers had been lying

◆ Current state

ggcorrplot draws correlation matrices in ggplot2 with optional significance marking and hierarchical reordering. It sat untouched from late 2022 until mid-2026, then shipped 0.2.0 and 0.3.0 sixteen days apart. Between them they added the display options users had been requesting since 2016 and repaired a set of bugs where hc.order = TRUE silently changed which cells were marked significant.

◆ Where it's heading

Both releases chase the same target: parity with the older corrplot package inside a ggplot2 object. Significance stars appended to coefficient labels, circle scaling, decimal control, then boxed cells and glyphs sized by absolute correlation — these are corrplot's visual vocabulary reimplemented where they can be composed with other ggplot2 layers. The bug fixes point the other way, at foundations: p-values matched to cells by name rather than row position, clustering computed on the unrounded matrix, tl.col actually applied.

◆ Prediction

With the corrplot look largely reproduced and the correctness backlog cleared, the remaining gap is the mixed upper/lower display corrplot supports; that is the natural next argument if the current release pace holds.

G
ggstatsplot
ANALYTICS
0.0

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

◆ 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.

Alternatives to ggcorrplot and ggstatsplot

Other Analytics products tracked by Sparkpulse, ranked by recent ship velocity. Each card links to a full editorial trajectory and lets you pivot into a head-to-head comparison with either ggcorrplot or ggstatsplot.

See all ggcorrplot alternatives → · See all ggstatsplot alternatives →

Recent activity from ggcorrplot and ggstatsplot

Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.

  1. 21d agoggcorrplotggcorrplot 0.3.0 adds boxed cells and correlation-sized squares
  2. 1mo agoggcorrplotggcorrplot 0.2.0 fixes significance markers broken by hc.order
  3. 3mo agoggstatsplotPairwise contingency tests and one-sample goodness-of-fit
  4. 4mo agoggstatsplotInternal maintenance only
  5. 6mo agoggstatsplotAdapted to dplyr 1.2.0 and purrr 1.2.1
  6. 8mo agoggstatsplotContributor list updated in DESCRIPTION
  7. 10mo agoggstatsplotSecondary axis label parsing fixed in gghistostats
  8. 11mo agoggstatsplotAdapted to the latest ggplot2 release
  9. 3y agoggcorrplotggcorrplot 0.1.4
  10. 6y agoggcorrplotggcorrplot 0.1.3
  11. 7y agoggcorrplotggcorrplot 0.1.2
  12. 10y agoggcorrplotggcorrplot's first release: correlograms in ggplot2

Frequently asked questions

What is the difference between ggcorrplot and ggstatsplot?

Both compete on the same themes — ggplot2 — within Analytics. ggcorrplot is currently shipping more aggressively (velocity 2.5 vs 0.0), with 0 editorial sparks in the last 30 days against 0. See the at-a-glance table above for a side-by-side breakdown of velocity, recent sparks, and editorial themes.

Is ggcorrplot better than ggstatsplot?

Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. ggcorrplot is currently shipping more aggressively (velocity 2.5 vs 0.0), with 0 editorial sparks in the last 30 days against 0. For your specific use case, the alternatives sections above list other Analytics products to evaluate alongside.

What are the best alternatives to ggcorrplot?

Top ggcorrplot alternatives in Analytics are ranked by recent ship velocity. Browse the "ggcorrplot alternatives" section above for the current picks, or visit /alternatives/ggcorrplot for the full list with editorial commentary on each.

What are the best alternatives to ggstatsplot?

Top ggstatsplot alternatives in Analytics are ranked by recent ship velocity. Browse the "ggstatsplot alternatives" section above for the current picks, or visit /alternatives/ggstatsplot for the full list with editorial commentary on each.