ggplot2 icon indicating copy to clipboard operation
ggplot2 copied to clipboard

Feature Request: nudge_x and nudge_y as a true aesthetic

Open lhami opened this issue 2 years ago • 1 comments

Sometimes I want more granular control over the position of specific text labels for geom_text and geom_text_repel, and I may want that to depend on some other aspect of the data (overlapping points, points that are above a certain threshold, specific problematic points that I know by name from previous versions, etc) using mutate().

Since nudge_x and nudge_y can take vectors that are the same length as the data, it seems already acknowledged that people may want to sometimes have a different nudge value for each point, which could easily be a column of nudge values in the data frame or a function thereof, so I'm not sure why it works differently from other aesthetics which can be specified in aes() with a column name quosure or outside of aes() for all points.

Could we make nudge_x and nudge_y work like the x and y aesthetics themselves?

lhami avatar Sep 28 '23 19:09 lhami

Some time ago there was some relevant discussion in #3026 and a PR implementing this was posted in #3030. At the time, it was decided against making nudge_x and nudge_y proper aesthetics, because it was too niche for the geom_text()/position_nudge() pairing. The alternative proposed solution, but never implemented, was to make position adjustments have required aesthetics that can be interpreted.

teunbrand avatar Sep 28 '23 19:09 teunbrand