feat: add Violin trace type (stacked on choropleth)#3
Open
jqnatividad wants to merge 3 commits into
Open
Conversation
Add the `Violin` trace with the full plotly.js violin attribute surface: bandwidth, box (inner mini box plot), meanline, KDE span/spanmode, scalegroup/scalemode, side (split violins), points/jitter/pointpos, selected/unselected, quartilemethod, hoveron, and zorder. Grouped and split violins work via the existing `ViolinMode` layout attribute. Includes unit tests, a doctest, a statistical-charts example (basic, horizontal, split), and a book recipe. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replace the placeholder box_plot.png thumbnail for the Violin Plots recipe with a generated 1024x680 violin image, and add the plotly#412 reference to the CHANGELOG entry. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Type the violin `span` field as `NumOrStringCollection` instead of `Vec<f64>`. Plotly.js types `span` as an `info_array` of `any`, so date/category axis values must be allowed for manual KDE spans on non-numeric value axes. Numeric spans continue to work unchanged; add a test covering both numeric and date-string spans. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Stacks the
Violintrace type on top offeat/choropleth-maps-upstreamso downstream consumers (qsv) can use violin plots today, while the upstream contribution is reviewed separately.main): feat: add Violin trace type plotly/plotly.rs#412feat/choropleth-maps-upstream(the branch qsv currently tracks)This branch =
feat/choropleth-maps-upstream+ the same violin commit, cherry-picked with the additivePlotType/lib.rsre-export conflicts resolved to keep both choropleth and violin.What's included
Same as the upstream PR:
Violin<X, Y>with the full plotly.js violin attribute surface (bandwidth,box,meanline,span/spanmode,scalegroup/scalemode,side,points/jitter/pointpos,selected/unselected,quartilemethod,hoveron,zorder,x0/y0), supporting types, tests, astatistical_chartsexample, and a book recipe.Verification
cargo test -p plotly --features static_export_chromedriver violin→ 12 passed🤖 Generated with Claude Code