← Back to all sparks
G

ggpubr

ANALYTICS
Velocity0.0

Publication-ready plots in R with simplified ggplot2 syntax and statistical annotations

ggpubr reached 1.0.0 with p-value formatting presets for specific journals

visualizationstatisticspublicationggplot2deprecation
Current state
ggpubr adds publication-ready statistics and annotation to ggplot2. Two releases define its capability: 0.5.0 introduced the stat_*_test family and geom_pwc() for pairwise comparison brackets, and 1.0.0 added p-value formatting presets matching named journal house styles. In between, most releases are ggplot2 and dplyr deprecation chasing.
Where it's heading
The package is moving from drawing statistics to matching the conventions of where they get published - style presets are a different kind of feature from a new test. That sits on a persistent maintenance load: after_stat migrations, linewidth parameters, R-devel changing how the Wilcoxon test handles ties. ggpubr absorbs upstream deprecations so that figure code written years ago keeps rendering.
Prediction
Expect the preset list to grow as users request their own journals' conventions, and the deprecation-chasing to continue with each ggplot2 release; the statistical test coverage looks complete enough that additions there would be surprising.

Recent moves

  1. 1mo ago

    Journal-specific p-value formatting presets in 1.0.0

    ⚡ SPARK

    The 1.0.0 milestone shifts what the package optimizes for: not what statistic to draw, but how a target journal expects it written. It builds directly on the annotation machinery 0.5.0 introduced, adding placement and orientation controls to the same brackets and labels.

    View source ↗
  2. 5mo ago

    Raises R and dplyr minimums, migrates off deprecated syntax

    A cleanup release that pays down years of accumulated deprecation: dot-dot notation replaced with after_stat(), dplyr::do() with reframe(), tidyr::gather() with pivot_longer(), and size superseded by linewidth. The version floors move to match what ggplot2 already required.

    View source ↗
  3. 9mo ago

    Pins Wilcoxon p-values against an R-devel change

    R-devel changed the Wilcoxon test to give exact conditional inference with ties, which would have silently shifted reported p-values, so compare_means() now sets exact = FALSE to keep results consistent across R versions. A compatibility fix, but one that protects published numbers rather than just checks.

    View source ↗
  4. 1y ago

    Fixes after_stat() namespace failures in reverse dependencies

    The automatic conversion from dot-dot notation to after_stat() was resolving namespaces incorrectly and breaking packages that build on ggpubr. Also adds an outliers argument to ggboxplot() and corrects the regression equation to the conventional y = mx + b ordering.

    View source ↗
  5. 3y ago

    ggadjust_pvalue() and reproducible jitter seeds

    Adds multiple-comparison adjustment for p-values already drawn by geom_pwc(), completing the annotation workflow from 0.5.0. The seed handling changes matter more than they read: jittered points and repelled labels now restore the random state instead of consuming it.

    View source ↗
  6. 3y ago

    geom_pwc() and the stat_*_test family arrive

    ⚡ SPARK

    The release that established how ggpubr annotates significance, and the base every later release extends. Everything since - p-value adjustment in 0.6.0, anchoring and orientation in 1.0.0 - refines this machinery rather than replacing it.

    View source ↗