plotly / plotly/plotly.js

Splom open items

オープン
#2,555 コメント 5 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

feature P3
主要言語
JavaScript
スター
18.3k
フォーク
2k
平均マージ
2日 12時間
マージ済み PR(30日)
28

説明

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:

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず issue #2372 と PR #2505 および #2527 を読み、その後、未チェックのチェックリスト項目と、後続の PR ですでに修正された項目を分けます。ソースファイルもテストも指定されていないため、コントリビューターは残っている項目の 1 つについて合意し、そのエントリポイントとテストを特定してから、着手前に完了条件を定義する必要があります。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
javascript
領域
data-visualization, performance
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
15/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。