-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Splom open items #2555
Comments
Pasting benchmarks from #2505 (comment) out for future reference: Here are some first-render benchmarks with
computed using: var Nvars = /* fill this in */
var Nrows = /* fill this in */
var dims = []
for(var i = 0; i < Nvars; i++) {
dims.push({values: []})
for(var j = 0; j < Nrows; j++) {
dims[i].values.push(Math.random())
}
}
Plotly.purge(gd);
console.time('splom')
Plotly.newPlot(gd, [{
type: 'splom',
dimensions: dims,
showupperhalf: false,
diagonal: {visible: false},
}], {width: 2000, height: 2000})
console.timeEnd('splom') |
From @alexcjohnson 's #3057 (comment), about speeding up
|
Hi, I was wondering if there has been any progress on this issue since late 2018? Especially on the "Add sub-trace on the diagonal" functionality. |
Hello , any updates for diagonal sub trace ? Would love to have this feature . |
Bump for histograms on the diagonals |
Follow-up from #2372, #2505 and #2527
Things that were left out
selectedpoints
info across multiple splom-generated subplots, see Introducing splom traces #2505 (comment)hasOnlyLargeSploms: true
withscattergl
trace(s) fails to redraw scattergl trace(s), see Implement better (more maintainable) way to redraw gl canvases on incremental updates #2562 FIXED in Add redrawReglTraces subroutine #3067Things we could do, but would require some thought
diagonal.mode: 'scattergl' || 'histogram' || 'box' || 'violin'
, see Introducing splom traces #2505 (comment)dimensions
that could default the splom generated axes' style (e.g.dimensions[i].showgrid: false
would remove grid lines from all axes corresponding todimensions[i]
). Edit: PR Multi-axis-type sploms #2899 addeddimensions[i].axis.type
, it would be easy to add more attribute under that container.<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 Introducing splom traces #2505 (comment)regl-line2d
for grid datag.draglayer
mentioned above, there are two categories I can see:rect.bg
- These could be omitted entirely whenplot_bgcolor
matchespaper_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 Aggressive splom perf #3057, possible future improvements in Aggressive splom perf #3057 (comment).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 associatedclipPath#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:
faster axis autorange relayout:Faster axis autorange relayout #2546per-axis 'axrange' relayout: Per axisaxrange
edit type #2547stash pts selections for pan: Stash SVG points selections for faster pan #2548Axes.doTicks
Replace getBoundingClientRect calls in axes.js #1988 - done in: Axes.draw w/o getBoundingClientRect + many axis automargin fixes #4165The text was updated successfully, but these errors were encountered: