pass the "exposed scales" to the render function #1265
Closed
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 cleans up the render API (#1263), as the render function now receives the same scale object as is exposed through the plot.scale("x") API.
It means a bit of extra work, as axes have to compute their own tickFormat and ticks, and a special case for the x and y identity scales. But it's worth it, in the name of consistency.
The difference that I still need to reduce is the scale’s label, which we censor when exposing the scale… I think this could change (we could expose it)… alternatively, we could try and pass the label through a separate argument.
todo
It would be a breaking change for, e.g., https://observablehq.com/@observablehq/plot-calendar, which reads x.bandwidth() and would need to use x.bandwidth instead (number).