plotly / plotly/react-plotly.js
Coloraxis not properly updated
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 1.1k
- Forks
- 138
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 4
Description
In this codepen example, I have a simple scatterplot with a single data point, and a "coloraxis" marker.
When the datapoint's marker is updated, the coloraxis is not properly updated. Specifically, when the datapoint marker color is incremented or decremented, the coloraxis does not rescale as you'd expect.
For example, when the chart is initialized, the datapoint's color is initialized to 5. The color axis values range from 4-6, as you'd expect:

The Data.color++ and Data.color-- buttons increment and decrement the datapoint's color value. But this results in the coloraxis expanding to encompass the datapoint's color value from previous renders. Here, I've incremented and decremented the color a bunch of times, and the color axis' values now range from 0-12:

If I force the component to unload and reload (by passing a new React key param to the <Plot/> each time render is called), the issue is fixed. (Also, if I download the plot as a PNG, that PNG looks correct.)
Contributor guide
No contributing guide indexed for this repository
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 linked CodePen example and trace the React Plot update path for changes to the datapoint's marker color. Repeatedly use the Data.color++ and Data.color-- controls; done means the coloraxis rescales to the current value rather than values from previous renders, while the downloaded PNG remains correct.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, react
- Domain
- data-visualization, frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100