plotly / plotly/plotly.js

Splom open items

Ouverte
#2,555 5 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

feature P3
Langage dominant
JavaScript
Étoiles
18.3k
Forks
2k
Merge moyen
2 j 12 h
PR mergées (30 j)
28

Description

Follow-up from https://github.com/plotly/plotly.js/issues/2372, https://github.com/plotly/plotly.js/pull/2505 and https://github.com/plotly/plotly.js/pull/2527

Things that were left out
Things we could do, but would require some thought
  • Add sub-trace on the diagonal (e.g. with diagonal.mode: 'scattergl' || 'histogram' || 'box' || 'violin', see https://github.com/plotly/plotly.js/pull/2505#discussion_r177823962
  • Add attribute in dimensions that could default the splom generated axes' style (e.g. dimensions[i].showgrid: false would remove grid lines from all axes corresponding to dimensions[i]). Edit: PR https://github.com/plotly/plotly.js/pull/2899 added dimensions[i].axis.type, it would be easy to add more attribute under that container.
  • Make one single cartesian <g .draglayer> covering the whole plot area instead of multiple (12 I think) per subplot. This would speed up initial rendering (especially for splom, but also for all graphs with many subplots), make cross-subplot selections a little easier to manage, see https://github.com/plotly/plotly.js/pull/2505#discussion_r181237581
  • optimize regl-line2d for grid data
  • implement matching axes https://github.com/plotly/plotly.js/issues/1549
  • Remove remaining O(n^2) SVG items. In addition to g.draglayer mentioned above, there are two categories I can see:
    • Subplot backgrounds rect.bg - These could be omitted entirely when plot_bgcolor matches paper_bgcolor (and both are fully opaque - which is true by default), otherwise perhaps we could move them into the WebGL canvas though @etpinard points out this may impact pan/zoom performance. UPDATE: optimized when plot and paper bgcolor match in https://github.com/plotly/plotly.js/pull/3057, possible future improvements in https://github.com/plotly/plotly.js/pull/3057#discussion_r222030211
    • Subplot groups .subplot.x<N>y<M> - normally only the ones with tick labels and titles have any visible content in them, but currently they all have some empty groups, an associated clipPath#clip<UID>x<N>y<M>plot, and a few <path d="M0,0"> elements, we should be able to avoid even creating the unused ones.
Related issues that would benefit splom performance:

Guide de contribution

Ouvrir le guide de contribution

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.

Piste de recherche

Commencez par lire l’issue #2372 et les PRs #2505 et #2527, puis séparez les éléments de la checklist qui ne sont pas cochés de ceux qui ont déjà été corrigés par des PRs ultérieures. Aucun fichier source ni aucun test n’est indiqué ; la personne contributrice devrait se mettre d’accord sur un élément restant, en identifier le point d’entrée et les tests, puis définir les critères d’achèvement avant de commencer.

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

Évaluation

Stack technique
javascript
Domaine
data-visualization, performance
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
15/100

Recevez les nouvelles issues par e-mail

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