99
1010'use strict' ;
1111
12- var d3 = require ( 'd3' ) ;
1312var isNumeric = require ( 'fast-isnumeric' ) ;
1413
1514var Lib = require ( '../../lib' ) ;
1615var Plots = require ( '../../plots/plots' ) ;
17- var getColorscale = require ( '../../components/colorscale/get_scale ' ) ;
16+ var makeScaleFunction = require ( '../../components/colorscale/make_scale_function ' ) ;
1817var drawColorbar = require ( '../../components/colorbar/draw' ) ;
1918
2019
2120module . exports = function colorbar ( gd , cd ) {
2221 var trace = cd [ 0 ] . trace ,
2322 cbId = 'cb' + trace . uid ,
24- scl = getColorscale ( trace . colorscale ) ,
25- zmin = trace . cmin ,
26- zmax = trace . cmax ,
23+ cmin = trace . cmin ,
24+ cmax = trace . cmax ,
2725 vals = trace . surfacecolor || trace . z ;
2826
29- if ( ! isNumeric ( zmin ) ) zmin = Lib . aggNums ( Math . min , null , vals ) ;
30- if ( ! isNumeric ( zmax ) ) zmax = Lib . aggNums ( Math . max , null , vals ) ;
27+ if ( ! isNumeric ( cmin ) ) cmin = Lib . aggNums ( Math . min , null , vals ) ;
28+ if ( ! isNumeric ( cmax ) ) cmax = Lib . aggNums ( Math . max , null , vals ) ;
3129
3230 gd . _fullLayout . _infolayer . selectAll ( '.' + cbId ) . remove ( ) ;
3331
@@ -36,10 +34,10 @@ module.exports = function colorbar(gd, cd) {
3634 return ;
3735 }
3836
39- var cb = cd [ 0 ] . t . cb = drawColorbar ( gd , cbId ) ;
40- cb . fillcolor ( d3 . scale . linear ( )
41- . domain ( scl . map ( function ( v ) { return zmin + v [ 0 ] * ( zmax - zmin ) ; } ) )
42- . range ( scl . map ( function ( v ) { return v [ 1 ] ; } ) ) )
43- . filllevels ( { start : zmin , end : zmax , size : ( zmax - zmin ) / 254 } )
37+ var cb = cd [ 0 ] . t . cb = drawColorbar ( gd , cbId ) ,
38+ sclFunc = makeScaleFunction ( trace . colorscale , cmin , cmax ) ;
39+
40+ cb . fillcolor ( sclFunc )
41+ . filllevels ( { start : cmin , end : cmax , size : ( cmax - cmin ) / 254 } )
4442 . options ( trace . colorbar ) ( ) ;
4543} ;
0 commit comments