[BUG]: `scatterpolargl` drops points between 10000 and 100000 points
Los mantenedores suelen responder en 2 días
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 82/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- javascript
- Área
- data-visualization, frontend
Línea de trabajo
Empieza en src/traces/scatterpolargl/calc.js y compara la configuración de marcadores después de convert.style con la corrección de scattergl en #4323. Reproduce el problema con el ejemplo proporcionado de 90.000 puntos y confirma que el gráfico polar omite puntos. El trabajo estará terminado cuando scatterpolargl muestre la misma densidad de puntos que scattergl en este caso.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Description
scatterpolargl does not set opts.marker.snap as scattergl does. This limits how many markers are displayed at certain zoom levels due to how regl-scatter2d handles rendering with its default snap value (10000). See #4323.
Screenshots
scatterpolargl vs. scattergl with the same data:
Steps to reproduce
- Open Plotly devtools and paste the following into the browser devtools console:
const n = 90000;
const gauss = () => (Math.random() + Math.random() + Math.random() + Math.random() - 2) / 2;
const x = [];
const y = [];
const r = [];
const theta = [];
for (let i = 0; i < n; i++) {
const px = 0.05 * gauss();
const py = 0.05 * gauss();
x.push(px);
y.push(py);
r.push(Math.hypot(px, py));
theta.push(Math.atan2(py, px) * 180 / Math.PI);
}
const marker = {color: 'rgba(0,0,255,0.01)', size: 3};
Plotly.newPlot(gd, [
{type: 'scatterpolargl', mode: 'markers', r, theta, marker, subplot: 'polar'},
{type: 'scattergl', mode: 'markers', x, y, marker, xaxis: 'x', yaxis: 'y'}
], {
width: 760,
height: 420,
showlegend: false,
polar: {domain: {x: [0, 0.45]}},
xaxis: {domain: [0.58, 1], anchor: 'y'},
yaxis: {domain: [0.1, 0.9], anchor: 'x', scaleanchor: 'x'}
});
- Note that the
scatterpolarglplot is pale compared toscattergl
Notes
- For a
scatterpolargltrace with more than 10000 points, regl-scatter2d builds its own cluster tree. It then draws only the level-of-detail subset of points. The same data onscattergldraws every point. scatterglhad this bug but it got fixed in #4323- The same fix can be applied to this trace: set
opts.marker.snap = lenafterconvert.styleinsrc/traces/scatterpolargl/calc.js
- Lenguaje dominante
- JavaScript
- Estrellas
- 18.4k
- Forks
- 2.1k
- Merge medio
- 1 d 5 h
- PR fusionados (30 d)
- 12
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de plotly/plotly.js
-
[BUG]: `sankey`: `node.x` / `node.y` of `0` is ignoredPosiblemente ocupada @adimalkar la tomó hoy. Abiertobug P3 size: 1
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
plotly/plotly.js#8150 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
bug P3 size: 3
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
plotly/plotly.js#8108 · 4 comentarios ·
Los mantenedores suelen responder en 2 días
-
chore P3 plotly-internal size: 3 task
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
plotly/plotly.js#8064 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
chore P1 plotly-internal size: 1 task
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
Los mantenedores suelen responder en 2 días
-
chore P3 plotly-internal size: 1 task
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Los mantenedores suelen responder en 2 días
Todos los issues de plotly/plotly.js
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día
-
【错误报告】界限突破·于吉「蛊惑」结算崩溃:reguhuo_final 中 chooseToDiscard().forResult() 可能返回 undefined(result.bool 未判空)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día
-
Admin search gives every setting result of an extension the id "<extension>-[object Object]"Abierto
Dificultad 2/5 Menos de una hora Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
ai-driven-fuzzing bug claude Minor
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
linagora/twake-drive#4494 ·
Los mantenedores suelen responder en 1 día
-
[quality] /resources/metrics draws the single-point member-companies chart on the left axisPosiblemente ocupada @hivecommons-hive la tomó hoy. Abiertoagent/quality stage/040-covered-by-pr testing
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día