If there is one thing of general utility lacking in ggplot2 it is probably the ability to annotate data cleanly. Sure, there’s
geom_label()but using them requires a fair bit of fiddling to get the best placement and further, they are mainly relevant for labeling and not longer text.
ggrepelhas improved immensely on the fiddling part, but the lack of support for longer text annotation as well as annotating whole areas is still an issue.
In order to at least partly address this, ggforce includes a family of geoms under the
geom_mark_*()moniker. They all behaves equivalently except for how they encircle the given area(s).
There are some really interesting features in the
ggforce package, so check them out.