feat(swarmplot): add support for log axis and legends #2031
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.
Addresses themes raised in #1939 and #1992
Adds features to the swarmplot:
Example
Implementation
Support for log scales required tweaks to the typescript definition for the
valueScale
prop. This was simple conceptually, but also required propagating the changes to functions that process coordinates. In practice, this is achieved by defining new types for the value-scale spec and the scale object. (Using dedicated types seemed more robust that extending the existing approach of joining primitive types using 'or'). Propoagating these changes introduces several code edits. However, the edits do not introduce any new real features. (It was already possible to use a log scale before). The advantage of the changes is that typescript users will be able to use log scales without seeing warnings.Support for legends required addition of new props
legendLabel
andlegends
to theSwarmPlot
andSwarmPlotCanvas
components. These follow the nomenclature and formats from other nivo packages.Two new stories have examples for how to use log scales and legends.
Can make further changes and improvements if needed.