[BUG]: `scattergl` hover is slow above 100k points
Mantenedores costumam responder em até 2 dias
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 58/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Ativa
- Stack de tecnologia
- javascript
- Domínio
- data-visualization, performance
Direção de pesquisa
Start by comparing the hover path in src/traces/scattergl/hover.js with the threshold and point-cluster tree behavior in src/traces/scattergl/constants.ts; reproduce the lag with the provided 100,000 point example and compare it with 99,999 points. Determine why the .range() call is slow with infinite or wide bounds, then verify hover remains responsive at and above the threshold.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Description
With 100,000 or more points, hovering over a scattergl trace is much slower than with 99,999 points.
Steps to reproduce
- Open Plotly devtools and paste the following into the browser devtools console:
let n = 100000;
Plotly.newPlot('graph', [{
type: 'scattergl',
mode: 'markers',
x0: 0,
dx: 1,
y: Array(n).fill(0)
}]);
- Hover over individual points and note the lag
- Change
nto99999and note that hover is fast
Notes
- At
TOO_MANY_POINTS(src/traces/scattergl/constants.ts),scatterglswitches from a plain array to the point-cluster tree - The slow call is
.range()insrc/traces/scattergl/hover.js - It's very slow with infinite bounds; it also seems slower than a plain array scan when the bounds cover a large share of the points
- Either
hover.jscalls.range()in a non-optimal way, orplotly/point-clusterhas a performance bug - #8052 stops the plot from freezing, but hover is still laggy
- Also related to #8036
- Linguagem predominante
- JavaScript
- Estrelas
- 18.4k
- Forks
- 2.1k
- Merge médio
- 1d 5h
- PRs com merge (30d)
- 12
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de plotly/plotly.js
-
[BUG]: `sankey`: `node.x` / `node.y` of `0` is ignoredTalvez já em andamento @adimalkar assumiu há 2 dias. Abertabug P3 size: 1
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
plotly/plotly.js#8150 · 1 comentário ·
Mantenedores costumam responder em até 2 dias
-
[BUG]: `scatterpolargl` drops points between 10000 and 100000 pointsTalvez já em andamento @Tanishdete333 assumiu há 2 dias. Abertabug P3 size: 1
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
plotly/plotly.js#8148 · 1 comentário ·
Mantenedores costumam responder em até 2 dias
-
[BUG]: findEmpties throws "iterated with no new neighbors" for large NaN regions in contour (double-precision underflow)Talvez já em andamento @davrens101 assumiu há 1 dia. Abertabug P3 size: 3
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 86/100
plotly/plotly.js#8108 · 4 comentários ·
Mantenedores costumam responder em até 2 dias
-
chore P3 plotly-internal size: 3 task
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 77/100
plotly/plotly.js#8064 · 1 comentário ·
Mantenedores costumam responder em até 2 dias
-
chore P1 plotly-internal size: 1 task
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 82/100
Mantenedores costumam responder em até 2 dias
Todas as issues de plotly/plotly.js
Issues semelhantes
-
check:failed feeds:add
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
iptv-org/database#38938 · 2 comentários ·
Mantenedores costumam responder em até 4 dias
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 66/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
rescript-lang/rescript#9182 ·
Mantenedores costumam responder em até 1 dia
-
Analysis
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
SACGF/variantgrid#2615 ·
Mantenedores costumam responder em até 1 dia
-
curriculum documentation quality
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
githubnext/gh-aw-workshop#5297 ·
Mantenedores costumam responder em até 1 dia