@@ -13,6 +13,7 @@ var isNumeric = require('fast-isnumeric');
13
13
14
14
var ScatterGl = require ( '../scattergl' ) ;
15
15
var calcColorscales = require ( '../scatter/colorscale_calc' ) ;
16
+ var calcMarkerSize = require ( '../scatter/calc' ) . calcMarkerSize ;
16
17
var Axes = require ( '../../plots/cartesian/axes' ) ;
17
18
var makeHoverPointText = require ( '../scatterpolar/hover' ) . makeHoverPointText ;
18
19
var subTypes = require ( '../scatter/subtypes' ) ;
@@ -26,17 +27,21 @@ function calc(container, trace) {
26
27
var angularAxis = layout [ subplotId ] . angularaxis ;
27
28
var rArray = radialAxis . makeCalcdata ( trace , 'r' ) ;
28
29
var thetaArray = angularAxis . makeCalcdata ( trace , 'theta' ) ;
30
+ var len = trace . _length ;
29
31
var stash = { } ;
30
32
31
- if ( trace . _length < rArray . length ) rArray = rArray . slice ( 0 , trace . _length ) ;
32
- if ( trace . _length < thetaArray . length ) thetaArray = thetaArray . slice ( 0 , trace . _length ) ;
33
-
34
- calcColorscales ( trace ) ;
33
+ if ( len < rArray . length ) rArray = rArray . slice ( 0 , len ) ;
34
+ if ( len < thetaArray . length ) thetaArray = thetaArray . slice ( 0 , len ) ;
35
35
36
36
stash . r = rArray ;
37
37
stash . theta = thetaArray ;
38
38
39
- trace . _extremes . x = Axes . findExtremes ( radialAxis , rArray , { tozero : true } ) ;
39
+ // We could add TOO_MANY_POINTS logic like in Scattergl.calc,
40
+ // if users asks for scaterpolargl charts with > 1e5 pts
41
+ var ppad = calcMarkerSize ( trace , len ) ;
42
+ trace . _extremes . x = Axes . findExtremes ( radialAxis , rArray , { ppad : ppad } ) ;
43
+
44
+ calcColorscales ( trace ) ;
40
45
41
46
return [ { x : false , y : false , t : stash , trace : trace } ] ;
42
47
}
0 commit comments