WIP: Missing values in colourbars #6023
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR aims to fix #4567.
Briefly,
guide_colourbar()
andguide_coloursteps()
use theGuideLegend
class to render a key for missing values.Note that continuous scales never automatically include
NA
in breaks (AFAIK), which means that you'd have to add these manually.It'd also will prevent some complaints that suddenly the colourbars show
NA
s by default (as they don't).In the plot below you can see a demo of what these look like. Note that putting
NA
as the first break will put it on top of the bar, whereas using it as any other break will put it on the bottom. However, maybe we should reverse this logic to follow the order of the other breaks?Created on 2024-08-02 with reprex v2.1.1
I'm not 100% happy with the code as-is; it feels a little bit messy. Most of the logic is captured in
Guide$assemble_drawing()
but it doesn't quite feel like the correct place. In addition, getting binned breaks to includeNA
is messier than I'd like. Lastly, maybe we should also do this forguide_bins()
, but I feel like it has less priority due to it being a more niche guide (and I'd rather not mess with binned breaks again).