Repository navigation
feat(viz): ternary plot of three parts of a whole - #4841
Merged
Merged
Conversation
Up to standards ✅🟢 Issues
|
jqnatividad
force-pushed
the
feat/viz-barpolar
branch
from
October 18, 2026 18:30
8e8a9ca to
5bf838c
Compare
`viz ternary --cols a,b,c` draws each row at its shares of a+b+c on a plotly scatterternary triangle, axes reading 0-100%. --series splits the points into colored traces; --color/--size encode numeric columns (the two can't be combined, as on scatter). The hover shows each part's raw value next to its share. Rows with a blank, non-numeric or negative part, parts summing to zero, or a missing --color/--size value are skipped and counted on stderr; a file with no plottable row is an error. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Adds a synthetic soil_samples.csv (320 samples in 4 texture classes). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
jqnatividad
force-pushed
the
feat/viz-ternary
branch
from
October 18, 2026 18:41
71cdad1 to
73951dd
Compare
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.
Stacked on #4840 (barpolar), which is stacked on #4839 (parcoords). Retarget to
masteronce those merge; this branch will need the same rebase ontomasteras #4839.What's new
viz ternary: a ternary (triangle) plot from plotly.js'sscatterternarytrace.--colsnames exactly 3 numeric columns, the a, b and c parts of a whole: the first column's corner is the top, the second's bottom-left, the third's bottom-right. Any other count is a usage error.--seriessplits the points into one colored trace per value (first-appearance order).--color/--sizeencode numeric columns onto a single trace (Viridis colorbar; bubble sizes rescaled as onviz scatter). As on scatter, the two can't be combined.sand: 60 (60.0%)), plus the series and any color/size value.--color/--sizevalue are skipped and counted on stderr. A file with no plottable row is an error.--colsrather than--a/--b/--c: every other chart that takes a fixed set of numeric columns (radar,splom,parcoords,heatmap) uses--cols, and three single-purpose flags would add to an already long USAGE. The axes are titled with the column names, so the chart shows the corner mapping, and the USAGE states it.plotly_darkternary styling comes from the plotly.rs pin moved in feat(viz): barpolar wind rose; clock-face polar bars for the smart seasonality panel #4840.docs/help/viz.mdandqsv-viz.json(new subcommand, the--cols/--series/--color/--sizedescriptions, a usage example).Gallery
New soil-texture triangle from a synthetic
soil_samples.csv(320 samples in 4 texture classes, listed in the README dataset table). Dashboards were not changed: their regen diffs were timestamps only.Verification
cargo t viz -F all_features: 485 unit and 657 integration tests pass, including 3 new ternary tests.--color), the percent axis format, the series names,--size, and the skip count each fails a test.scripts/double-run-check.py --checkOK;cargo +nightly fmt; clippy reports no warnings on added lines.plotly_darkoutput (dark ternary background and grid), the hover, and the gallery figure.Known rough edge: a text column in
--cols(e.g.--cols texture,sand,silt) gets the generic "no plottable rows" error, not one naming the column.The wiki Visualization page update is staged locally and will be pushed after merge.
🤖 Generated with Claude Code