@@ -32,19 +32,20 @@ function findExtreme(fn, values, len) {
32
32
}
33
33
34
34
function findExtremes ( values , len ) {
35
- return [
35
+ return fixExtremes (
36
36
findExtreme ( Math . min , values , len ) ,
37
37
findExtreme ( Math . max , values , len )
38
- ] ;
38
+ ) ;
39
39
}
40
40
41
41
function dimensionExtent ( dimension ) {
42
42
var range = dimension . range ;
43
- if ( ! range ) range = findExtremes ( dimension . values , dimension . _length ) ;
44
-
45
- var lo = range [ 0 ] ;
46
- var hi = range [ 1 ] ;
43
+ return range ?
44
+ fixExtremes ( range [ 0 ] , range [ 1 ] ) :
45
+ findExtremes ( dimension . values , dimension . _length ) ;
46
+ }
47
47
48
+ function fixExtremes ( lo , hi ) {
48
49
if ( isNaN ( lo ) || ! isFinite ( lo ) ) {
49
50
lo = 0 ;
50
51
}
@@ -404,8 +405,15 @@ function calcAllTicks(cd) {
404
405
var dim = dimensions [ k ] . _ax ;
405
406
406
407
if ( dim ) {
407
- if ( ! dim . range ) dim . range = findExtremes ( values , trace . _length ) ;
408
- if ( ! dim . dtick ) dim . dtick = 0.01 * ( Math . abs ( dim . range [ 1 ] - dim . range [ 0 ] ) || 1 ) ;
408
+ if ( ! dim . range ) {
409
+ dim . range = findExtremes ( values , trace . _length ) ;
410
+ } else {
411
+ dim . range = fixExtremes ( dim . range [ 0 ] , dim . range [ 1 ] ) ;
412
+ }
413
+
414
+ if ( ! dim . dtick ) {
415
+ dim . dtick = 0.01 * ( Math . abs ( dim . range [ 1 ] - dim . range [ 0 ] ) || 1 ) ;
416
+ }
409
417
410
418
dim . tickformat = dimensions [ k ] . tickformat ;
411
419
Axes . calcTicks ( dim ) ;
0 commit comments