-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Default labels from attributes (option 2) #5879
Conversation
This PR had an unexpected interaction with |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Merge branch 'main' into build_default_labels # Conflicts: # tests/testthat/_snaps/labels.md
This PR aims to fix #4631 and fix #5894 and competes with #5878.
Briefly, this is also an attempt to derive default labels from the 'label' attribute.
In contrast to #5878, this resolves labels in the
ggplot_build()
stage, thereby circumventing some limitations of that approach discussed yonder. It also feels 'cleaner', as there is just a single place where default labels are determined and we have no need to moonlight inggplot_add()
methods (notable exception isggplot_add.labels()
for obvious reason that these are user specified non-default labels). The drawback is that we desecrateggplot_build()
.Let's demonstrate using plots that are limitations in the other PR.
Labels are not baked in at construction time, so
%+%
data replacement works as intended.Naively, it doesn't appear to work when
data
is not a data.frame.However, this is just because
subset()
drops attributes. If we usedplyr::filter()
that doesn't drop attributes, it works just fine.Created on 2024-05-02 with reprex v2.1.0
The choice is thus:
ggplot_build()
OR
ggplot_build()