fix(vx-legend): Fix label generation in Threshold
legend
#612
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.
🐛 Bug Fix
This PR closes #605 where
@vx/legend
'sLegendThreshold
does not generate the correct number of labels after theTS
re-write.More context
Without a major refactor, the base
Legend
generates its labels from thedomain
of the inputscale
. However forthreshold
(andquantile
) scales, if thedomain
containsn
threshold values, therange
should includen+1
values to capture both theless than domain[0]
andgreater than domain[1]
intervals of the thresholds.The fix
Previously this wasn't accounted for and thus
LegendThreshold
did not include the last value in range as seen in the linked issue. This updatesLegendThreshold
to instead behave likeLegendQuantile
to effectively allow label generation from the range values.This PR also updates the
Legends
demo to use a valid threshold scale withn
domain andn+1
range values.Before
After
@hshoff @camille-s @kristw