6
6
* LICENSE file in the root directory of this source tree.
7
7
*/
8
8
9
-
10
9
'use strict' ;
11
10
12
11
var d3 = require ( 'd3' ) ;
12
+
13
13
var Colorscale = require ( '../../components/colorscale' ) ;
14
14
var endPlus = require ( './end_plus' ) ;
15
15
@@ -20,15 +20,16 @@ module.exports = function makeColorMap(trace) {
20
20
var cs = contours . size || 1 ;
21
21
var nc = Math . floor ( ( end - start ) / cs ) + 1 ;
22
22
var extra = contours . coloring === 'lines' ? 0 : 1 ;
23
+ var cOpts = Colorscale . extractOpts ( trace ) ;
23
24
24
25
if ( ! isFinite ( cs ) ) {
25
26
cs = 1 ;
26
27
nc = 1 ;
27
28
}
28
29
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 ;
32
33
33
34
var len = scl . length ;
34
35
var domain = new Array ( len ) ;
@@ -37,51 +38,45 @@ module.exports = function makeColorMap(trace) {
37
38
var si , i ;
38
39
39
40
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 ;
44
43
45
44
for ( i = 0 ; i < len ; i ++ ) {
46
45
si = scl [ i ] ;
47
-
48
- domain [ i ] = si [ 0 ] * ( trace . zmax - trace . zmin ) + trace . zmin ;
46
+ domain [ i ] = si [ 0 ] * ( zmax0 - zmin0 ) + zmin0 ;
49
47
range [ i ] = si [ 1 ] ;
50
48
}
51
49
52
50
// do the contours extend beyond the colorscale?
53
51
// if so, extend the colorscale with constants
54
52
var zRange = d3 . extent ( [
55
- trace . zmin ,
56
- trace . zmax ,
53
+ zmin0 ,
54
+ zmax0 ,
57
55
contours . start ,
58
56
contours . start + cs * ( nc - 1 )
59
57
] ) ;
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 ] ;
62
60
63
- if ( zmin !== trace . zmin ) {
61
+ if ( zmin !== zmin0 ) {
64
62
domain . splice ( 0 , 0 , zmin ) ;
65
- range . splice ( 0 , 0 , Range [ 0 ] ) ;
63
+ range . splice ( 0 , 0 , range [ 0 ] ) ;
66
64
}
67
65
68
- if ( zmax !== trace . zmax ) {
66
+ if ( zmax !== zmax0 ) {
69
67
domain . push ( zmax ) ;
70
68
range . push ( range [ range . length - 1 ] ) ;
71
69
}
72
70
} else {
73
71
for ( i = 0 ; i < len ; i ++ ) {
74
72
si = scl [ i ] ;
75
-
76
73
domain [ i ] = ( si [ 0 ] * ( nc + extra - 1 ) - ( extra / 2 ) ) * cs + start ;
77
74
range [ i ] = si [ 1 ] ;
78
75
}
79
76
}
80
77
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
+ ) ;
87
82
} ;
0 commit comments