66* LICENSE file in the root directory of this source tree.
77*/
88
9-
109'use strict' ;
1110
1211var d3 = require ( 'd3' ) ;
12+
1313var Colorscale = require ( '../../components/colorscale' ) ;
1414var endPlus = require ( './end_plus' ) ;
1515
@@ -20,15 +20,16 @@ module.exports = function makeColorMap(trace) {
2020 var cs = contours . size || 1 ;
2121 var nc = Math . floor ( ( end - start ) / cs ) + 1 ;
2222 var extra = contours . coloring === 'lines' ? 0 : 1 ;
23+ var cOpts = Colorscale . extractOpts ( trace ) ;
2324
2425 if ( ! isFinite ( cs ) ) {
2526 cs = 1 ;
2627 nc = 1 ;
2728 }
2829
29- var scl = trace . reversescale ?
30- Colorscale . flipScale ( trace . colorscale ) :
31- trace . colorscale ;
30+ var scl = cOpts . reversescale ?
31+ Colorscale . flipScale ( cOpts . colorscale ) :
32+ cOpts . colorscale ;
3233
3334 var len = scl . length ;
3435 var domain = new Array ( len ) ;
@@ -37,51 +38,45 @@ module.exports = function makeColorMap(trace) {
3738 var si , i ;
3839
3940 if ( contours . coloring === 'heatmap' ) {
40- if ( trace . zauto && trace . autocontour === false ) {
41- trace . zmin = start - cs / 2 ;
42- trace . zmax = trace . zmin + nc * cs ;
43- }
41+ var zmin0 = cOpts . min ;
42+ var zmax0 = cOpts . max ;
4443
4544 for ( i = 0 ; i < len ; i ++ ) {
4645 si = scl [ i ] ;
47-
48- domain [ i ] = si [ 0 ] * ( trace . zmax - trace . zmin ) + trace . zmin ;
46+ domain [ i ] = si [ 0 ] * ( zmax0 - zmin0 ) + zmin0 ;
4947 range [ i ] = si [ 1 ] ;
5048 }
5149
5250 // do the contours extend beyond the colorscale?
5351 // if so, extend the colorscale with constants
5452 var zRange = d3 . extent ( [
55- trace . zmin ,
56- trace . zmax ,
53+ zmin0 ,
54+ zmax0 ,
5755 contours . start ,
5856 contours . start + cs * ( nc - 1 )
5957 ] ) ;
60- var zmin = zRange [ trace . zmin < trace . zmax ? 0 : 1 ] ;
61- var zmax = zRange [ trace . zmin < trace . zmax ? 1 : 0 ] ;
58+ var zmin = zRange [ zmin0 < zmax0 ? 0 : 1 ] ;
59+ var zmax = zRange [ zmin0 < zmax0 ? 1 : 0 ] ;
6260
63- if ( zmin !== trace . zmin ) {
61+ if ( zmin !== zmin0 ) {
6462 domain . splice ( 0 , 0 , zmin ) ;
65- range . splice ( 0 , 0 , Range [ 0 ] ) ;
63+ range . splice ( 0 , 0 , range [ 0 ] ) ;
6664 }
6765
68- if ( zmax !== trace . zmax ) {
66+ if ( zmax !== zmax0 ) {
6967 domain . push ( zmax ) ;
7068 range . push ( range [ range . length - 1 ] ) ;
7169 }
7270 } else {
7371 for ( i = 0 ; i < len ; i ++ ) {
7472 si = scl [ i ] ;
75-
7673 domain [ i ] = ( si [ 0 ] * ( nc + extra - 1 ) - ( extra / 2 ) ) * cs + start ;
7774 range [ i ] = si [ 1 ] ;
7875 }
7976 }
8077
81- return Colorscale . makeColorScaleFunc ( {
82- domain : domain ,
83- range : range ,
84- } , {
85- noNumericCheck : true
86- } ) ;
78+ return Colorscale . makeColorScaleFunc (
79+ { domain : domain , range : range } ,
80+ { noNumericCheck : true }
81+ ) ;
8782} ;
0 commit comments