@@ -19,22 +19,18 @@ var cleanBins = require('../histogram/clean_bins');
1919
2020
2121module . exports = function calc ( gd , trace ) {
22- var xa = Axes . getFromId ( gd , trace . xaxis || 'x' ) ,
23- x = trace . x ? xa . makeCalcdata ( trace , 'x' ) : [ ] ,
24- ya = Axes . getFromId ( gd , trace . yaxis || 'y' ) ,
25- y = trace . y ? ya . makeCalcdata ( trace , 'y' ) : [ ] ,
26- xcalendar = trace . xcalendar ,
27- ycalendar = trace . ycalendar ,
28- xr2c = function ( v ) { return xa . r2c ( v , 0 , xcalendar ) ; } ,
29- yr2c = function ( v ) { return ya . r2c ( v , 0 , ycalendar ) ; } ,
30- xc2r = function ( v ) { return xa . c2r ( v , 0 , xcalendar ) ; } ,
31- yc2r = function ( v ) { return ya . c2r ( v , 0 , ycalendar ) ; } ,
32- x0 ,
33- dx ,
34- y0 ,
35- dy ,
36- z ,
37- i ;
22+ var xa = Axes . getFromId ( gd , trace . xaxis || 'x' ) ;
23+ var x = trace . x ? xa . makeCalcdata ( trace , 'x' ) : [ ] ;
24+ var ya = Axes . getFromId ( gd , trace . yaxis || 'y' ) ;
25+ var y = trace . y ? ya . makeCalcdata ( trace , 'y' ) : [ ] ;
26+ var xcalendar = trace . xcalendar ;
27+ var ycalendar = trace . ycalendar ;
28+ var xr2c = function ( v ) { return xa . r2c ( v , 0 , xcalendar ) ; } ;
29+ var yr2c = function ( v ) { return ya . r2c ( v , 0 , ycalendar ) ; } ;
30+ var xc2r = function ( v ) { return xa . c2r ( v , 0 , xcalendar ) ; } ;
31+ var yc2r = function ( v ) { return ya . c2r ( v , 0 , ycalendar ) ; } ;
32+
33+ var i , n , m ;
3834
3935 cleanBins ( trace , xa , 'x' ) ;
4036 cleanBins ( trace , ya , 'y' ) ;
@@ -79,33 +75,31 @@ module.exports = function calc(gd, trace) {
7975 }
8076
8177 // make the empty bin array & scale the map
82- z = [ ] ;
83- var onecol = [ ] ,
84- zerocol = [ ] ,
85- nonuniformBinsX = ( typeof ( trace . xbins . size ) === 'string' ) ,
86- nonuniformBinsY = ( typeof ( trace . ybins . size ) === 'string' ) ,
87- xbins = nonuniformBinsX ? [ ] : trace . xbins ,
88- ybins = nonuniformBinsY ? [ ] : trace . ybins ,
89- total = 0 ,
90- n ,
91- m ,
92- counts = [ ] ,
93- norm = trace . histnorm ,
94- func = trace . histfunc ,
95- densitynorm = ( norm . indexOf ( 'density' ) !== - 1 ) ,
96- extremefunc = ( func === 'max' || func === 'min' ) ,
97- sizeinit = ( extremefunc ? null : 0 ) ,
98- binfunc = binFunctions . count ,
99- normfunc = normFunctions [ norm ] ,
100- doavg = false ,
101- xinc = [ ] ,
102- yinc = [ ] ;
78+ var z = [ ] ;
79+ var onecol = [ ] ;
80+ var zerocol = [ ] ;
81+ var nonuniformBinsX = ( typeof ( trace . xbins . size ) === 'string' ) ;
82+ var nonuniformBinsY = ( typeof ( trace . ybins . size ) === 'string' ) ;
83+ var xbins = nonuniformBinsX ? [ ] : trace . xbins ;
84+ var ybins = nonuniformBinsY ? [ ] : trace . ybins ;
85+ var total = 0 ;
86+ var counts = [ ] ;
87+ var norm = trace . histnorm ;
88+ var func = trace . histfunc ;
89+ var densitynorm = ( norm . indexOf ( 'density' ) !== - 1 ) ;
90+ var extremefunc = ( func === 'max' || func === 'min' ) ;
91+ var sizeinit = ( extremefunc ? null : 0 ) ;
92+ var binfunc = binFunctions . count ;
93+ var normfunc = normFunctions [ norm ] ;
94+ var doavg = false ;
95+ var xinc = [ ] ;
96+ var yinc = [ ] ;
10397
10498 // set a binning function other than count?
10599 // for binning functions: check first for 'z',
106100 // then 'mc' in case we had a colored scatter plot
107101 // and want to transfer these colors to the 2D histo
108- // TODO: this is why we need a data picker in the popover...
102+ // TODO: axe this, make it the responsibility of the app changing type? or an impliedEdit?
109103 var rawCounterData = ( 'z' in trace ) ?
110104 trace . z :
111105 ( ( 'marker' in trace && Array . isArray ( trace . marker . color ) ) ?
@@ -129,10 +123,9 @@ module.exports = function calc(gd, trace) {
129123 if ( nonuniformBinsX ) xbins . push ( i ) ;
130124
131125 var nx = onecol . length ;
132- x0 = trace . xbins . start ;
133- var x0c = xr2c ( x0 ) ;
134- dx = ( i - x0c ) / nx ;
135- x0 = xc2r ( x0c + dx / 2 ) ;
126+ var x0c = xr2c ( trace . xbins . start ) ;
127+ var dx = ( i - x0c ) / nx ;
128+ var x0 = xc2r ( x0c + dx / 2 ) ;
136129
137130 binspec = trace . ybins ;
138131 binStart = yr2c ( binspec . start ) ;
@@ -147,10 +140,9 @@ module.exports = function calc(gd, trace) {
147140 if ( nonuniformBinsY ) ybins . push ( i ) ;
148141
149142 var ny = z . length ;
150- y0 = trace . ybins . start ;
151- var y0c = yr2c ( y0 ) ;
152- dy = ( i - y0c ) / ny ;
153- y0 = yc2r ( y0c + dy / 2 ) ;
143+ var y0c = yr2c ( trace . ybins . start ) ;
144+ var dy = ( i - y0c ) / ny ;
145+ var y0 = yc2r ( y0c + dy / 2 ) ;
154146
155147 if ( densitynorm ) {
156148 xinc = onecol . map ( function ( v , i ) {
0 commit comments