ggpp 0.5.0/0.5.1/0.5.2/0.5.3/0.5.4

ggpp: Grammar Extensions to ‘ggplot2’

R Package Update

Pedro J. Aphalo






ggpp pkg


As part of moving the site to Quarto I intend to write a single post to give an overview of changes in minor versions of the packages. In this case, all versions in the 0.5.x series. I will update this same post in the case of minor version updates, and start a new post when the first version in the 0.6.x series is developed. I hope this will reduce the clutter and still provide a good overview of progress. Differences between versions are listed in detail in the NEWS file.

Overview of changes

Version 0.5.0 includes code-breaking enhancements to geom_text_s() and geom_label_s(). The most significative is a mechanism to selectively applying aesthetics to different components of linked labels and text. This replaces the previous use of separate aesthetics applied only to segments or arrows. The reason behind this change is that segments are only links, and not meant to inform about data values on their own. Please see the post Enhancing geom_text() and geom_label() for example plots.

New functions stat_panel_counts() and stat_group_counts() make it easy to annotate plots with the number of observations.

Version 0.5.1 brings enhancements to the density-based statistics. They gain several new features without changing their default behaviour. The aim is to add flexibility to allow improved support of the annotation of volcano and quadrant plots. Two types of plots frequently used to present gene transcript abundance estimates obtained by RNAseq or microarray methods.

Version 0.5.2 brings additional enhancements to the density-based statistics. Mainly smoothing the rough edges left by the overhaul done in version 0.5.1 to these functions. A change to position_nudge_to() makes it possible to evenly spread positions to reduce overlaps. Most importantly add many unit tests to reach > 90% code coverage by tests (contribution of Daniel Sabanés Bové and his team).

Version 0.5.3 brings enhancements to stat_quadrant_counts() and stat_group_counts(). They are now both based on a compute panel function, which makes it possible to compute the same counts as in earlier versions but also the count for the whole panel. This in turn facilitates the creation of labels based on percents and fractions of the total number of observations. The default behaviour remains the same as in earlier versions, with labels for counts.

The new statistic stat_functions() implements plotting of multiple functions per layer and supports groups and facets, i.e., the grammar of graphics. Be aware that stat_functions() is under development and its interface may change in future versions.

Version 0.5.4 brings two new geometries geom_text_pairwise() and geom_label_pairwise() useful for adding to plots the outcomes from pairwise tests, and for highlighting ranges along the x axis.


Documentation web site includes all help pages, with output from all examples, vignettes in HTML format and a cheatsheet as a PDF file.

Please raise issues concerning bugs or enhancements to this package through GitHub at Pull requests are also welcome.