Set scatter chart marker size using coordinates
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 18.3k
- Forks
- 2k
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 28
Description
I'd like to set the marker size in scatter charts using coordinates.
My suggestion to implement this would be to add x0, x1, y0, and y1 attributes for scatter chart points, if these attributes are set the marker would scale to fit inside those coordinates. When setting the size using coordinates, the existing marker size attribute could be used as a minimum size.
The purpose of this is to be able to have points which represent a range of data instead of just a singular coordinate. A range of values across only one axis should also be supported.
The existing layout shapes aren't fit for our purpose because they can't be interacted with, and are quite slow for large datasets.
Here is an example of the type of data I would like to present (made using the existing shapes)
There have been related requests for absolute marker sizes already https://github.com/plotly/plotly.js/issues/3682
And similar requests in plotly.py https://github.com/plotly/plotly.py/issues/3535
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 by reviewing the scatter-chart implementation and the related requests in issues 3682 and plotly.py 3535, then compare the CodePen example with the current shape-based approach. Done should support x0, x1, y0, and y1 ranges, including ranges on one axis, while retaining marker size as a minimum and preserving interaction for large datasets.
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
- 28/100