Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 10f99a2

Browse files
authored
Merge pull request plotly#2060 from plotly/huge-points
Support extreme off-plot data points in scatter lines
2 parents 50e933c + 37b5cdc commit 10f99a2

File tree

13 files changed

+422
-94
lines changed

13 files changed

+422
-94
lines changed

src/plot_api/plot_api.js

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2734,12 +2734,8 @@ Plotly.purge = function purge(gd) {
27342734
// remove plot container
27352735
if(fullLayout._container) fullLayout._container.remove();
27362736

2737+
// in contrast to Plotly.Plots.purge which does NOT clear _context!
27372738
delete gd._context;
2738-
delete gd._replotPending;
2739-
delete gd._mouseDownTime;
2740-
delete gd._legendMouseDownTime;
2741-
delete gd._hmpixcount;
2742-
delete gd._hmlumcount;
27432739

27442740
return gd;
27452741
};

src/plots/plots.js

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1341,14 +1341,25 @@ plots.purge = function(gd) {
13411341
delete gd._promises;
13421342
delete gd._redrawTimer;
13431343
delete gd.firstscatter;
1344-
delete gd.hmlumcount;
1345-
delete gd.hmpixcount;
1344+
delete gd._hmlumcount;
1345+
delete gd._hmpixcount;
13461346
delete gd.numboxes;
13471347
delete gd._transitionData;
13481348
delete gd._transitioning;
13491349
delete gd._initialAutoSize;
13501350
delete gd._transitioningWithDuration;
13511351

1352+
// created during certain events, that *should* clean them up
1353+
// themselves, but may not if there was an error
1354+
delete gd._dragging;
1355+
delete gd._dragged;
1356+
delete gd._hoverdata;
1357+
delete gd._snapshotInProgress;
1358+
delete gd._editing;
1359+
delete gd._replotPending;
1360+
delete gd._mouseDownTime;
1361+
delete gd._legendMouseDownTime;
1362+
13521363
// remove all event listeners
13531364
if(gd.removeAllListeners) gd.removeAllListeners();
13541365
};

src/traces/scatter/constants.js

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,16 @@
1010
'use strict';
1111

1212
module.exports = {
13-
PTS_LINESONLY: 20
13+
PTS_LINESONLY: 20,
14+
15+
// fixed parameters of clustering and clipping algorithms
16+
17+
// fraction of clustering tolerance "so close we don't even consider it a new point"
18+
minTolerance: 0.2,
19+
// how fast does clustering tolerance increase as you get away from the visible region
20+
toleranceGrowth: 10,
21+
22+
// number of viewport sizes away from the visible region
23+
// at which we clip all lines to the perimeter
24+
maxScreensAway: 20
1425
};

0 commit comments

Comments
 (0)