ggpp 0.4.3

Based on issues raised in the GitHub repository of ‘ggrepel’ and the nudge functions added some time ago to package ‘ggpp’ it became obvious that nudging can help in achieving good repulsion outcomes without need of tailored repulsion algorithms for specific cases. Obviously developing new ggplot position functions is much easier than tweaking the repulsion algorithm. It is also clear that not being able to combine nudging with stack, jitter and dodge positions made difficult to produce some types of plots. One case is replacing a key or legend with direct labels to plot elements, which is important in plots aimed at audiences outside academia.

In one of the issues in the GitHub repository of ‘ggrepel’ an answer by M. Krassowski included code that provided an elegant and simple approach to implementing combined position functions without duplicating code already in ‘ggplot2’ by instead calling methods of the parent class. I edited this code and included it in the package.

Except for the position functions with names ending in _keep, for which normal counterparts exist, the keeping of the original position can be disabled by passing kept.origin = "none" when they are called.

The renaming of geom_text_linked() to geom_text_s() is code breaking but I am now fairly confident this shorter name is easy to remember with s for segment.

With 12 new and four partly rewritten functions there is quite a lot of new code in this update, so even if tested and checked, it is possible that bugs may have slipped through. Please, do report them if you encounter any.

ggpp 0.4.2

The initial implementation and user interface of three apply statistics first introduced in ‘ggpmisc’ 0.3.6 has been revised to expand their usefulness and to make them less error-prone, while the fourth one is now defunct. Note: The default argument for geom instat_centroid() is likely to change in the near future. Otherwise, the three statistics can be considered now stable.

ggpp 0.4.1

ggpp 0.4.0

This new package is the result of splitting package ‘ggpmisc’ into two packages: ‘ggpp’ containing extensions to the grammar of graphics and ‘ggpmisc’ containing extensions to ‘ggplot2’ related to plot decorations based on model fits, statistical summaries and other descriptors of the data being plotted. Package ‘ggpmisc’ depends on ‘ggpp’ with no visible changes for users. Package ‘ggpp’ can be loaded instead of ‘ggpmisc’ when only the extensions it contains are needed. Package ‘gginnards’ containing tools for editing ggplot objects as well as tools for inspecting them is an earlier spin-off from ‘gpmisc’.

Compared to ‘ggpmisc’ 0.3.9, the following changes have been introduced. New justification styles have being implemented to complement position_nudge_center() . They are supported in geom_text_s(), geom_plot(), geom_table(), geom_grob() and geom_marging_grob(). In the current implementation all rows in data should contain the same hjust or vjust value when using the new types of justification described here, this seems reasonable as they compute the individual justification values from the data. All other justification values, either numeric or character do not have this restriction and can be used as in geoms from ‘ggplot2’. These new features may change in the near future.

ggpmisc 0.3.9

ggpmisc 0.3.8-1

ggpmisc 0.3.8

ggpmisc 0.3.7

miscast 0.3.6

ggpmisc 0.3.5

ggpmisc 0.3.4

ggpmisc 0.3.3

ggpmisc 0.3.2

This version implements some new features and fixes bugs in the features introduced in version 0.3.1, please do rise an issue if you notice any remaining bugs! Some reported weaknesses in the documentation have been addressed. This updated version depends on ‘ggplot2’ (>= 3.2.1).

ggpmisc 0.3.1

This is a major update, with a few cases in which old code may need to be revised to work, and many cases in which there will be subtle differences in the positions of labels used as annotations. The many new features may still have some bugs, please do rise an issue if you notice one!

Version requiring ‘ggplot2’ (>= 3.1.0).

Add new geometries, several of them accepting x and y in npc units through the new aesthetics npcx and npcy, allowing positioning relative to plotting area irrespective of native data units and scale limits. These geometries are useful on their own for annotations in particular they allow consistent positioning of textual summaries. By default they do not inherit the plot’s aesthetic mappings making their behaviour remain by default in-between that of true geometries and that of annotate().

ggpmisc 0.3.0

Version requiring ‘ggplot2’ (>= 3.0.0), now in CRAN. Low level manipulation and debug methods and functions moved to new package ‘gginnards’ available through CRAN.


Non-CRAN version with additional functionality, but requiring the development version of ‘ggplot2’.


Non-CRAN version with additional functionality, but requiring the development version of ‘ggplot2’ >= (>= commit of 2017-02-09) from Github. Visit

ggpmisc 0.2.17

CRAN version

ggpmisc 0.2.16

ggpmisc 0.2.15

Add stat_fit_tidy() implemented using broom::tidy(). Makes it possible to add the fitted equation for any fitted model supported by package ‘broom’, as long as the user supplies within aes() the code to build a label string. Update user guide.

ggpmisc 0.2.14

Fix bug in stat_poly_equation() eq.x.rhs argument ignored when using expressions.

ggpmisc 0.2.13

ggpmisc 0.2.12

ggpmisc 0.2.11

ggpmisc 0.2.10

ggpmisc 0.2.9

ggpmisc 0.2.8

ggpmisc 0.2.7

ggpmisc 0.2.6

ggpmisc 0.2.5

ggpmisc 0.2.4

ggpmisc 0.2.3

ggpmisc 0.2.2

ggpmisc 0.2.1

ggpmisc 0.1.0

First version.