Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

[BUG]: `scatterpolargl` drops points between 10000 and 100000 points

Ouverte Adaptée aux débutants
#8,148 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 2 jours

@Tanishdete333 y travaille déjà.

Depuis le 30/10/2026.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
82/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
javascript

Piste de recherche

Commencez dans src/traces/scatterpolargl/calc.js et comparez la configuration des marqueurs après convert.style avec la correction de scattergl dans #4323. Reproduisez le problème avec l’exemple fourni de 90 000 points et confirmez que le graphique polaire omet des points. Le travail est terminé lorsque scatterpolargl affiche la même densité de points que scattergl dans ce cas.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

bug P3 size: 1
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:

Image
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 scatterpolargl plot is pale compared to scattergl
Notes
  • For a scatterpolargl trace 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 on scattergl draws every point.
  • scattergl had this bug but it got fixed in #4323
  • The same fix can be applied to this trace: set opts.marker.snap = len after convert.style in src/traces/scatterpolargl/calc.js
Langage dominant
JavaScript
Étoiles
18.4k
Forks
2.1k
Merge moyen
1 j 9 h
PR mergées (30 j)
12

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de plotly/plotly.js

Toutes les issues de plotly/plotly.js

Issues similaires

Plus d'issues JavaScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.