Shapes are drawn outside the plot when using annotations and autorange.
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 18.3k
- Forks
- 2k
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 28
Description
When updating shapes and annotations with Plotly.react, both are drawn outside the plot when the y-axis is automatically ranged. StackBlitz Example
This seems to be because the y range is reset to [0, 4], the data hasn't changed so the range isn't re-calculated, and the annotations draw procedure updates the y-axis _m and _b metrics used to calculate the paths (src/components/annotations/draw.js line 71). I can't pass the current range, because the axis range should be re-calculated if the data does change. This only occurs if the annotations are updated, because the shapes draw procedure doesn't update the y-axis metrics.
Plotly.js 1.54.6
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 linked StackBlitz example and inspect src/components/annotations/draw.js around line 71, then compare it with the shapes draw procedure. Trace how autorange sets the y range and how the axis _m and _b metrics are updated during Plotly.react. Done means updated shapes and annotations remain inside the plot while automatic y-axis ranging still responds when data changes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- data-visualization
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100