add histograms on splom diagonals
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 18.3k
- Forks
- 2k
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 28
Description
Several other implementations of splom allow for a different plot type on the diagonal - which makes sense because the diagonal subplots are always just diagonal lines of points. What we really want is a simple view of the distribution of that one dimension in each diagonal subplot. For my current purposes the best view would be a histogram, and I suspect implementing only that would be a well-received improvement, but eventually box and violin could also be nice additions.
We anticipated this feature with a comment in #2555 and with a comment in the attributes for splom:
That comment I think is right, trace.diagonal.type sets the trace type for all of the diagonal subplots, then we add more attributes into trace.diagonal that mirror the attributes available to histogram (and the other trace types if we add those). For histograms, trace.diagonal.marker.color should be inherited from trace.marker.color (and maybe similar with marker.line.width and marker.line.width?)
In addition, each dimension should be able to override everything about its own diagonal subplot, so trace.dimensions[i].diagonal should accept all the same options as trace.diagonal.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the referenced comment and attributes in src/traces/splom/attributes.js, then trace how splom diagonal subplots are configured. Define histogram support through trace.diagonal, including inherited marker color, and per-dimension overrides through trace.dimensions[i].diagonal. Done means diagonal subplots can show histograms with those configuration paths working.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- data-visualization
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100