redraw <chart type> with no changes is not a noop (svg mocks)
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- javascript
- Ambito
- data-visualization
Direzione di ricerca
Inizia in fill_one.js e segui il percorso style/styleOne fino a Drawing.pointStyle(s, trace, gd, pt). Controlla come vengono gestiti i mock SVG e fullData durante i ridisegni, soprattutto per i tipi di grafico interessati. Il lavoro è completato quando il ridisegno di un grafico invariato lascia intatti i dati sottostanti e si comporta come un noop.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
- We traced it back to 2.24.0 (https://github.com/plotly/plotly.js/releases/tag/v2.24.0), which includes a group of PR's that correspond to the exact same figure types that are failing. For example, in the sunburst PR, there's a line that updates the trace marker color.
- From @alexcjohnson:
- In sunburst/style.js (which is part of the plotting pipeline) we have
if(marker.pattern) { if(!marker.colors || !marker.pattern.shape) marker.color = cdi.color; } else { marker.color = cdi.color; }- ie we’re changing _fullData during plotting. Which is a big no no. So yeah that’s where the noop is being broken, we should avoid that, which I bet in this case means creating a new mock trace object to pass into Drawing.pointStyle(s, trace, gd, pt); rather than modifying this one. But of course since this has been around for a year and a half, this is not a release blocker.
- Also I’ll note, the code in question is in styleOne, meaning that it’ll be called once for every segment of the sunburst… so if you do go with a mock trace object, put the object creation up in style (which only happens once per trace) instead of in styleOne, and styleOne can keep reusing that same object.
If it helps, you’re free to attach new things to the trace object during plotting as long as they start with _. - I’m thinking about things like here where we mock an axis in order to reuse logic from regular axis handling in 3D axes… or here where we mock the entire figure in the course of making a new shrunken version of the figure for rangesliders
- Update after looking into it a bit: The code referenced above is now is
fill_one.js. Added in this commit
- Lingua principale
- JavaScript
- Stelle
- 18.3k
- Fork
- 2k
- Merge medio
- 2g 12h
- PR unite (30g)
- 28
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di plotly/plotly.js
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
chore P1 plotly-internal size: 1 task
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
-
chore P3 plotly-internal size: 1 task
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
bug infrastructure P2
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 65/100
Tutte le issue di plotly/plotly.js
Issue simili
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
githubnext/gh-aw-workshop#3692 ·
-
agent/guide documentation hive/hosted-available-lke648397-260827-5n31
Difficoltà 2/5 1-3 ore Idoneità per principianti 90/100
-
Add: BuyPass TV Apertachannels:add check:passed
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
S: triage
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
-
bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
apache/cloudstack#14222 ·