ranges does not get computed when same data is used but Plot is updated
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 48/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- javascript, plotly, react
- Domaine
- data-visualization, frontend
Piste de recherche
Commencez par la reproduction same_data liée et suivez le chemin de mise à jour du composant Plot lorsque le layout change, mais que les données sont réutilisées. Comparez les variantes new_array et new_object afin d’identifier le comportement commun. Le travail est terminé lorsque les ranges restent calculés et que le zoom fonctionne toujours après avoir cliqué sur Update Plot.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
If layout is change but data stays the same, Plot's ranges are not computed correctly.
Consider this React component
(full project can be found here: https://github.com/saad-learns/react-plotly/tree/same_data
function App() {
const [plotUpdated, setPlotUpdated] = React.useState<number>(0);
const [plotParams, setPlotParams] = React.useState<PlotParams>({
data: [
{
x: [-3, -2, -1, 0, 1, 2, 3],
y: [
-0.1411200080598672, -0.9092974268256817, -0.8414709848078965, 0,
0.8414709848078965, 0.9092974268256817, 0.1411200080598672,
],
},
],
layout: {},
});
const updatePlot = () => {
setPlotParams((prevState) => ({
data: prevState.data,
layout: {},
}));
};
return (
<div className="App">
<div style={{ padding: 10 }}>
<button onClick={updatePlot}>Update Plot</button>
</div>
<Plot
data={plotParams.data}
layout={plotParams.layout}
onUpdate={() => setPlotUpdated((prevState) => prevState + 1)}
/>
<div>Plot updated: {plotUpdated}</div>
</div>
);
At the start, ranges are calculated correctly. You can verify that with React Dev Tool's Component tab:
Or you can use Zoom In and Zoom Out button to verify that zooming is working.
But if you click on the Update Plot button, the ranges are not computed, in fact they get removed:
Thereafter, zooming does not work.
Here, updatePlot will use the same data object, but makes use of a new layout. According to https://github.com/plotly/react-plotly.js#refreshing-the-plot Plot should be refreshed, and it does, but ranges are no longer computed correctly.
There are other variation of the above issue:
- Use a new array but same previous data element: https://github.com/saad-learns/react-plotly/blob/new_array/src/App.tsx
- Use a new array, and a new element but with same previous data: https://github.com/saad-learns/react-plotly/blob/new_object/src/App.tsx
where ranges are not computed properly.
- Langage dominant
- JavaScript
- Étoiles
- 1.1k
- Forks
- 138
- Merge moyen
- 3 j 2 h
- PR mergées (30 j)
- 4
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de plotly/react-plotly.js
-
P3 plotly-internal size: 1 task
Difficulté 3/5 1-2 jours Accessibilité débutants 45/100
plotly/react-plotly.js#386 ·
-
enhancement P3 size: 1
Difficulté 3/5 1-2 jours Accessibilité débutants 65/100
plotly/react-plotly.js#380 · 7 commentaires ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
plotly/react-plotly.js#358 · 1 commentaire ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
plotly/react-plotly.js#354 ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 30/100
plotly/react-plotly.js#353 · 1 commentaire ·
Toutes les issues de plotly/react-plotly.js
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Seeed-Studio/wiki-documents#5655 · 2 commentaires ·
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
capricorn86/happy-dom#2435 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
-
Edit: CW+ Ouvertechannels:edit check:passed
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
-
01 type: bug 30 needs: triage 99 tag: UX Accessibility
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100