@@ -32,67 +32,67 @@ module.exports = function calc(gd, trace) {
32
32
var size = [ ] ;
33
33
var pa = Axes . getFromId ( gd , trace . orientation === 'h' ?
34
34
( trace . yaxis || 'y' ) : ( trace . xaxis || 'x' ) ) ;
35
- var maindata = trace . orientation === 'h' ? 'y' : 'x' ;
36
- var counterdata = { x : 'y' , y : 'x' } [ maindata ] ;
37
- var calendar = trace [ maindata + 'calendar' ] ;
35
+ var mainData = trace . orientation === 'h' ? 'y' : 'x' ;
36
+ var counterData = { x : 'y' , y : 'x' } [ mainData ] ;
37
+ var calendar = trace [ mainData + 'calendar' ] ;
38
38
var cumulativeSpec = trace . cumulative ;
39
39
var i ;
40
40
41
- cleanBins ( trace , pa , maindata ) ;
41
+ cleanBins ( trace , pa , mainData ) ;
42
42
43
- var binsAndPos = calcAllAutoBins ( gd , trace , pa , maindata ) ;
44
- var binspec = binsAndPos [ 0 ] ;
43
+ var binsAndPos = calcAllAutoBins ( gd , trace , pa , mainData ) ;
44
+ var binSpec = binsAndPos [ 0 ] ;
45
45
var pos0 = binsAndPos [ 1 ] ;
46
46
47
- var nonuniformBins = typeof binspec . size === 'string' ;
48
- var bins = nonuniformBins ? [ ] : binspec ;
47
+ var nonuniformBins = typeof binSpec . size === 'string' ;
48
+ var bins = nonuniformBins ? [ ] : binSpec ;
49
49
// make the empty bin array
50
50
var inc = [ ] ;
51
51
var counts = [ ] ;
52
52
var total = 0 ;
53
53
var norm = trace . histnorm ;
54
54
var func = trace . histfunc ;
55
- var densitynorm = norm . indexOf ( 'density' ) !== - 1 ;
56
- var i2 , binend , n ;
55
+ var densityNorm = norm . indexOf ( 'density' ) !== - 1 ;
56
+ var i2 , binEnd , n ;
57
57
58
- if ( cumulativeSpec . enabled && densitynorm ) {
58
+ if ( cumulativeSpec . enabled && densityNorm ) {
59
59
// we treat "cumulative" like it means "integral" if you use a density norm,
60
60
// which in the end means it's the same as without "density"
61
61
norm = norm . replace ( / ? d e n s i t y $ / , '' ) ;
62
- densitynorm = false ;
62
+ densityNorm = false ;
63
63
}
64
64
65
- var extremefunc = func === 'max' || func === 'min' ;
66
- var sizeinit = extremefunc ? null : 0 ;
67
- var binfunc = binFunctions . count ;
68
- var normfunc = normFunctions [ norm ] ;
69
- var doavg = false ;
65
+ var extremeFunc = func === 'max' || func === 'min' ;
66
+ var sizeInit = extremeFunc ? null : 0 ;
67
+ var binFunc = binFunctions . count ;
68
+ var normFunc = normFunctions [ norm ] ;
69
+ var isAvg = false ;
70
70
var pr2c = function ( v ) { return pa . r2c ( v , 0 , calendar ) ; } ;
71
71
var rawCounterData ;
72
72
73
- if ( Array . isArray ( trace [ counterdata ] ) && func !== 'count' ) {
74
- rawCounterData = trace [ counterdata ] ;
75
- doavg = func === 'avg' ;
76
- binfunc = binFunctions [ func ] ;
73
+ if ( Array . isArray ( trace [ counterData ] ) && func !== 'count' ) {
74
+ rawCounterData = trace [ counterData ] ;
75
+ isAvg = func === 'avg' ;
76
+ binFunc = binFunctions [ func ] ;
77
77
}
78
78
79
79
// create the bins (and any extra arrays needed)
80
80
// assume more than 1e6 bins is an error, so we don't crash the browser
81
- i = pr2c ( binspec . start ) ;
81
+ i = pr2c ( binSpec . start ) ;
82
82
83
83
// decrease end a little in case of rounding errors
84
- binend = pr2c ( binspec . end ) + ( i - Axes . tickIncrement ( i , binspec . size , false , calendar ) ) / 1e6 ;
84
+ binEnd = pr2c ( binSpec . end ) + ( i - Axes . tickIncrement ( i , binSpec . size , false , calendar ) ) / 1e6 ;
85
85
86
- while ( i < binend && pos . length < 1e6 ) {
87
- i2 = Axes . tickIncrement ( i , binspec . size , false , calendar ) ;
86
+ while ( i < binEnd && pos . length < 1e6 ) {
87
+ i2 = Axes . tickIncrement ( i , binSpec . size , false , calendar ) ;
88
88
pos . push ( ( i + i2 ) / 2 ) ;
89
- size . push ( sizeinit ) ;
89
+ size . push ( sizeInit ) ;
90
90
// nonuniform bins (like months) we need to search,
91
91
// rather than straight calculate the bin we're in
92
92
if ( nonuniformBins ) bins . push ( i ) ;
93
93
// nonuniform bins also need nonuniform normalization factors
94
- if ( densitynorm ) inc . push ( 1 / ( i2 - i ) ) ;
95
- if ( doavg ) counts . push ( 0 ) ;
94
+ if ( densityNorm ) inc . push ( 1 / ( i2 - i ) ) ;
95
+ if ( isAvg ) counts . push ( 0 ) ;
96
96
// break to avoid infinite loops
97
97
if ( i2 <= i ) break ;
98
98
i = i2 ;
@@ -112,30 +112,30 @@ module.exports = function calc(gd, trace) {
112
112
// bin the data
113
113
for ( i = 0 ; i < pos0 . length ; i ++ ) {
114
114
n = Lib . findBin ( pos0 [ i ] , bins ) ;
115
- if ( n >= 0 && n < nMax ) total += binfunc ( n , i , size , rawCounterData , counts ) ;
115
+ if ( n >= 0 && n < nMax ) total += binFunc ( n , i , size , rawCounterData , counts ) ;
116
116
}
117
117
118
118
// average and/or normalize the data, if needed
119
- if ( doavg ) total = doAvg ( size , counts ) ;
120
- if ( normfunc ) normfunc ( size , total , inc ) ;
119
+ if ( isAvg ) total = doAvg ( size , counts ) ;
120
+ if ( normFunc ) normFunc ( size , total , inc ) ;
121
121
122
122
// after all normalization etc, now we can accumulate if desired
123
123
if ( cumulativeSpec . enabled ) cdf ( size , cumulativeSpec . direction , cumulativeSpec . currentbin ) ;
124
124
125
125
126
- var serieslen = Math . min ( pos . length , size . length ) ;
126
+ var seriesLen = Math . min ( pos . length , size . length ) ;
127
127
var cd = [ ] ;
128
128
var firstNonzero = 0 ;
129
- var lastNonzero = serieslen - 1 ;
129
+ var lastNonzero = seriesLen - 1 ;
130
130
131
131
// look for empty bins at the ends to remove, so autoscale omits them
132
- for ( i = 0 ; i < serieslen ; i ++ ) {
132
+ for ( i = 0 ; i < seriesLen ; i ++ ) {
133
133
if ( size [ i ] ) {
134
134
firstNonzero = i ;
135
135
break ;
136
136
}
137
137
}
138
- for ( i = serieslen - 1 ; i > firstNonzero ; i -- ) {
138
+ for ( i = seriesLen - 1 ; i > firstNonzero ; i -- ) {
139
139
if ( size [ i ] ) {
140
140
lastNonzero = i ;
141
141
break ;
@@ -161,8 +161,8 @@ module.exports = function calc(gd, trace) {
161
161
* smallest bins of any of the auto values for all histograms grouped/stacked
162
162
* together.
163
163
*/
164
- function calcAllAutoBins ( gd , trace , pa , maindata ) {
165
- var binAttr = maindata + 'bins' ;
164
+ function calcAllAutoBins ( gd , trace , pa , mainData ) {
165
+ var binAttr = mainData + 'bins' ;
166
166
var i , tracei , calendar , firstManual , pos0 ;
167
167
168
168
// all but the first trace in this group has already been marked finished
@@ -179,30 +179,30 @@ function calcAllAutoBins(gd, trace, pa, maindata) {
179
179
var minStart = Infinity ;
180
180
var maxEnd = - Infinity ;
181
181
182
- var autoBinAttr = 'autobin' + maindata ;
182
+ var autoBinAttr = 'autobin' + mainData ;
183
183
184
184
for ( i = 0 ; i < traceGroup . length ; i ++ ) {
185
185
tracei = traceGroup [ i ] ;
186
186
187
187
// stash pos0 on the trace so we don't need to duplicate this
188
188
// in the main body of calc
189
- pos0 = tracei . _pos0 = pa . makeCalcdata ( tracei , maindata ) ;
190
- var binspec = tracei [ binAttr ] ;
189
+ pos0 = tracei . _pos0 = pa . makeCalcdata ( tracei , mainData ) ;
190
+ var binSpec = tracei [ binAttr ] ;
191
191
192
- if ( ( tracei [ autoBinAttr ] ) || ! binspec ||
193
- binspec . start === null || binspec . end === null ) {
194
- calendar = tracei [ maindata + 'calendar' ] ;
192
+ if ( ( tracei [ autoBinAttr ] ) || ! binSpec ||
193
+ binSpec . start === null || binSpec . end === null ) {
194
+ calendar = tracei [ mainData + 'calendar' ] ;
195
195
var cumulativeSpec = tracei . cumulative ;
196
196
197
- binspec = Axes . autoBin ( pos0 , pa , tracei [ 'nbins' + maindata ] , false , calendar ) ;
197
+ binSpec = Axes . autoBin ( pos0 , pa , tracei [ 'nbins' + mainData ] , false , calendar ) ;
198
198
199
199
// adjust for CDF edge cases
200
200
if ( cumulativeSpec . enabled && ( cumulativeSpec . currentbin !== 'include' ) ) {
201
201
if ( cumulativeSpec . direction === 'decreasing' ) {
202
- minStart = Math . min ( minStart , pa . r2c ( binspec . start , 0 , calendar ) - binspec . size ) ;
202
+ minStart = Math . min ( minStart , pa . r2c ( binSpec . start , 0 , calendar ) - binSpec . size ) ;
203
203
}
204
204
else {
205
- maxEnd = Math . max ( maxEnd , pa . r2c ( binspec . end , 0 , calendar ) + binspec . size ) ;
205
+ maxEnd = Math . max ( maxEnd , pa . r2c ( binSpec . end , 0 , calendar ) + binSpec . size ) ;
206
206
}
207
207
}
208
208
@@ -211,14 +211,14 @@ function calcAllAutoBins(gd, trace, pa, maindata) {
211
211
autoBinnedTraces . push ( tracei ) ;
212
212
}
213
213
else if ( ! firstManual ) {
214
- // Remember the first manually set binspec . We'll try to be extra
214
+ // Remember the first manually set binSpec . We'll try to be extra
215
215
// accommodating of this one, so other bins line up with these
216
216
// if there's more than one manual bin set and they're mutually inconsistent,
217
217
// then there's not much we can do...
218
218
firstManual = {
219
- size : binspec . size ,
220
- start : pa . r2c ( binspec . start , 0 , calendar ) ,
221
- end : pa . r2c ( binspec . end , 0 , calendar )
219
+ size : binSpec . size ,
220
+ start : pa . r2c ( binSpec . start , 0 , calendar ) ,
221
+ end : pa . r2c ( binSpec . end , 0 , calendar )
222
222
} ;
223
223
}
224
224
@@ -227,9 +227,9 @@ function calcAllAutoBins(gd, trace, pa, maindata) {
227
227
// But manually binned traces won't be adjusted, even if the auto values
228
228
// are inconsistent with the manual ones (or the manual ones are inconsistent
229
229
// with each other).
230
- minSize = getMinSize ( minSize , binspec . size ) ;
231
- minStart = Math . min ( minStart , pa . r2c ( binspec . start , 0 , calendar ) ) ;
232
- maxEnd = Math . max ( maxEnd , pa . r2c ( binspec . end , 0 , calendar ) ) ;
230
+ minSize = getMinSize ( minSize , binSpec . size ) ;
231
+ minStart = Math . min ( minStart , pa . r2c ( binSpec . start , 0 , calendar ) ) ;
232
+ maxEnd = Math . max ( maxEnd , pa . r2c ( binSpec . end , 0 , calendar ) ) ;
233
233
234
234
// add the flag that lets us abort autobin on later traces
235
235
if ( i ) trace . _autoBinFinished = 1 ;
@@ -253,7 +253,7 @@ function calcAllAutoBins(gd, trace, pa, maindata) {
253
253
// now go back to the autobinned traces and update their bin specs with the final values
254
254
for ( i = 0 ; i < autoBinnedTraces . length ; i ++ ) {
255
255
tracei = autoBinnedTraces [ i ] ;
256
- calendar = tracei [ maindata + 'calendar' ] ;
256
+ calendar = tracei [ mainData + 'calendar' ] ;
257
257
258
258
tracei . _input [ binAttr ] = tracei [ binAttr ] = {
259
259
start : pa . c2r ( minStart , 0 , calendar ) ,
@@ -323,7 +323,7 @@ function numericSize(size) {
323
323
return Infinity ;
324
324
}
325
325
326
- function cdf ( size , direction , currentbin ) {
326
+ function cdf ( size , direction , currentBin ) {
327
327
var i , vi , prevSum ;
328
328
329
329
function firstHalfPoint ( i ) {
@@ -337,7 +337,7 @@ function cdf(size, direction, currentbin) {
337
337
prevSum += vi ;
338
338
}
339
339
340
- if ( currentbin === 'half' ) {
340
+ if ( currentBin === 'half' ) {
341
341
342
342
if ( direction === 'increasing' ) {
343
343
firstHalfPoint ( 0 ) ;
@@ -358,7 +358,7 @@ function cdf(size, direction, currentbin) {
358
358
}
359
359
360
360
// 'exclude' is identical to 'include' just shifted one bin over
361
- if ( currentbin === 'exclude' ) {
361
+ if ( currentBin === 'exclude' ) {
362
362
size . unshift ( 0 ) ;
363
363
size . pop ( ) ;
364
364
}
@@ -368,7 +368,7 @@ function cdf(size, direction, currentbin) {
368
368
size [ i ] += size [ i + 1 ] ;
369
369
}
370
370
371
- if ( currentbin === 'exclude' ) {
371
+ if ( currentBin === 'exclude' ) {
372
372
size . push ( 0 ) ;
373
373
size . shift ( ) ;
374
374
}
0 commit comments