geom_label_repel()). The same plot would look OK with ggrepel 0.8.2, but incorrect with ggrepel 0.9.0. Thanks to Ben Baumer (@beanumber) for reporting this in issue 182.
max.overlapsstops ggrepel from trying to label overcrowded data points. The default setting is
max.overlaps = 10, so text labels that overlap more than 10 things (points or labels) will be excluded from further calculations and rendering. Of course, we can set
max.overlaps = Infto restore the behavior in ggrepel 0.8.1. See [issue 48] for more discussion. We can also use
option(ggrepel.max.overlaps = Inf)to disable this new functionality and display all labels, regardless of too many overlaps.
Add support for new aesthetics:
max.time option to limit the number of seconds spent trying to position the text labels.
class(x) == "unit"in issue 141. This should future-proof ggrepel for new versions of the grid package.
xlim = c(-Inf, Inf)is treated. Thanks to @thomasp85 for pointing out the bug in issue 136.
Add support for
position parameter. See issue 69. This allows us to add text labels to points positioned with
Please note that this feature will not work with ggplot2 2.2.1 or older.
Fix intersection between lines and rectangles, to reproduce the same aesthetically pleasant behavior as in version 0.6.5.
This is an improvement on the sloppy implementation introduced in 0.6.8. See commit 28633d for more information.
Thanks to @jiho for these:
coord_polar(). See issue 56.
repel_boxes.cpp. Dampen forces to tune how the labels move. The result looks better, at least for the examples in the vignette.
angle aesthetic for
geom_text_repel(), the same way as done in ggplot2
nudge_y out of the aesthetics function
aes(). This makes ggrepel consistent with ggplot2 functions
geom_label(). Backwards incompatible with 0.5.1.
repel_boxes.cpp. Do not weight repulsion force by ratios of bounding box heights and widths. This seems to perform better, especially after rotating text labels.
geom_label_repel(). Now there is no gap between the end of the segment and the label border.
spring_force()so that it never returns NaN.
arrow parameter to allow plotting arrows that point to the labeled data points rather than plain line segments.
Always draw segments, even if the labeled point is very close to the label.
point.padding so that horizontal and vertical padding is calculated correctly.
Tweak forces to improve layout near borders and in crowded areas.
Add new parameter
point.padding to add padding around the labeled points. The line segment will stop before reaching the coordinates of the point. The text labels are also now padded from the line segment to improve legibility.
Add volcano plot to the vignette usage examples.
Add Travis continuous integration to test against R-devel, R-release, and R-oldrel.
Dampen repulsion force to slightly improve algorithm efficiency.