add selectable shapes or absolute marker sizes
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 18.3k
- Forks
- 2k
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 28
Description
At first I started with shapes since their size can be explicitly defined in the same domain as the data (i.e. not an arbitrary number that doesn't correspond with the data as with marker size attribute). However, the problem that arises is that shapes do not express any visual feedback when selected (in selectData) as markers do.
So, unfortunately, I've run into a limitation with each method (shapes don't provide feedback when selected nor are they selectable [however you could put a transparent marker in the center which I did for awhile] and marker sizes/shapes cannot be defined in the same domain as the data). Alternatively, I think it might be useful to explicitly define the size and shape of a marker in the same "domain" as the data so that if you were to zoom in or out, the dimensions of the marker do not scale but instead maintain the specified dimensions because its size and shape is important relative to the data. Something like #2193 except for markers and no need for the movable functionality.
Additionally, this would provide some more freedom in customizing the marker i.e. the marker could be defined by an aggregate of shape objects (which is different than #330). That is, if it is important that a data point be represented by a red square behind a blue circle each of a specific size - it could be done.
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 tracing selectData and the existing marker and shape selection behavior in plotly.js. Compare the requested alternatives: selectable shapes, data-domain marker sizes, and composite marker customization. Done should be defined as a specific supported behavior with visual selection feedback and dimensions that remain meaningful during zooming.
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
- Needs clarification
- Newbie friendliness
- 25/100