@@ -17,25 +17,37 @@ var calcLabels = require('./calc_labels');
1717var calcClipPath = require ( './calc_clippath' ) ;
1818var clean2dArray = require ( '../heatmap/clean_2d_array' ) ;
1919var smoothFill2dArray = require ( './smooth_fill_2d_array' ) ;
20+ var hasColumns = require ( './has_columns' ) ;
21+ var convertColumnData = require ( '../heatmap/convert_column_xyz' ) ;
22+ var setConvert = require ( './set_convert' ) ;
2023
2124module . exports = function calc ( gd , trace ) {
22- var xa = Axes . getFromId ( gd , trace . xaxis || 'x' ) ;
23- var ya = Axes . getFromId ( gd , trace . yaxis || 'y' ) ;
25+ var xa = Axes . getFromId ( gd , trace . xaxis ) ;
26+ var ya = Axes . getFromId ( gd , trace . yaxis ) ;
2427 var aax = trace . aaxis ;
2528 var bax = trace . baxis ;
26- var a = trace . _a = trace . a ;
27- var b = trace . _b = trace . b ;
2829
29- var t = { } ;
30- var x ;
30+ var x = trace . x ;
3131 var y = trace . y ;
32+ var cols = [ ] ;
33+ if ( x && ! hasColumns ( x ) ) cols . push ( 'x' ) ;
34+ if ( y && ! hasColumns ( y ) ) cols . push ( 'y' ) ;
35+
36+ if ( cols . length ) {
37+ convertColumnData ( trace , aax , bax , 'a' , 'b' , cols ) ;
38+ }
39+
40+ var a = trace . _a = trace . _a || trace . a ;
41+ var b = trace . _b = trace . _b || trace . b ;
42+ x = trace . _x || trace . x ;
43+ y = trace . _y || trace . y ;
44+
45+ var t = { } ;
3246
3347 if ( trace . _cheater ) {
3448 var avals = aax . cheatertype === 'index' ? a . length : a ;
3549 var bvals = bax . cheatertype === 'index' ? b . length : b ;
3650 x = cheaterBasis ( avals , bvals , trace . cheaterslope ) ;
37- } else {
38- x = trace . x ;
3951 }
4052
4153 trace . _x = x = clean2dArray ( x ) ;
@@ -48,6 +60,8 @@ module.exports = function calc(gd, trace) {
4860 smoothFill2dArray ( x , a , b ) ;
4961 smoothFill2dArray ( y , a , b ) ;
5062
63+ setConvert ( trace ) ;
64+
5165 // create conversion functions that depend on the data
5266 trace . setScale ( ) ;
5367
0 commit comments