@@ -1503,13 +1503,6 @@ axes.getTickFormat = function(ax) {
1503
1503
function convertToMs ( dtick ) {
1504
1504
return typeof dtick !== 'string' ? dtick : Number ( dtick . replace ( 'M' , '' ) * ONEAVGMONTH ) ;
1505
1505
}
1506
- function isProperStop ( dtick , range , convert ) {
1507
- var convertFn = convert || function ( x ) { return x ; } ;
1508
- var leftDtick = range [ 0 ] ;
1509
- var rightDtick = range [ 1 ] ;
1510
- return ( ( ! leftDtick && typeof leftDtick !== 'number' ) || convertFn ( leftDtick ) <= convertFn ( dtick ) ) &&
1511
- ( ( ! rightDtick && typeof rightDtick !== 'number' ) || convertFn ( rightDtick ) >= convertFn ( dtick ) ) ;
1512
- }
1513
1506
function getRangeWidth ( range , convert ) {
1514
1507
var convertFn = convert || function ( x ) { return x ; } ;
1515
1508
var left = range [ 0 ] || 0 ;
@@ -1534,31 +1527,41 @@ axes.getTickFormat = function(ax) {
1534
1527
return typeof left === 'number' ? 1 : - 1 ;
1535
1528
}
1536
1529
}
1530
+ function isProperStop ( dtick , range , convert ) {
1531
+ var convertFn = convert || function ( x ) { return x ; } ;
1532
+ var leftDtick = range [ 0 ] ;
1533
+ var rightDtick = range [ 1 ] ;
1534
+ return ( ( ! leftDtick && typeof leftDtick !== 'number' ) || convertFn ( leftDtick ) <= convertFn ( dtick ) ) &&
1535
+ ( ( ! rightDtick && typeof rightDtick !== 'number' ) || convertFn ( rightDtick ) >= convertFn ( dtick ) ) ;
1536
+ }
1537
+ function isProperLogStop ( dtick , range ) {
1538
+ var isLeftDtickNull = range [ 0 ] === null ;
1539
+ var isRightDtickNull = range [ 1 ] === null ;
1540
+ var isDtickInRangeLeft = compareLogTicks ( dtick , range [ 0 ] ) >= 0 ;
1541
+ var isDtickInRangeRight = compareLogTicks ( dtick , range [ 1 ] ) <= 0 ;
1542
+ return ( isLeftDtickNull || isDtickInRangeLeft ) && ( isRightDtickNull || isDtickInRangeRight ) ;
1543
+ }
1537
1544
1538
1545
var tickstop ;
1539
1546
if ( ax . tickformatstops && ax . tickformatstops . length > 0 ) {
1540
1547
switch ( ax . type ) {
1541
- case 'date' : {
1542
- tickstop = ax . tickformatstops . find ( function ( stop ) {
1543
- return isProperStop ( ax . dtick , stop . dtickrange , convertToMs )
1544
- } ) ;
1545
- break ;
1546
- }
1548
+ case 'date' :
1547
1549
case 'linear' : {
1548
- tickstop = ax . tickformatstops . find ( function ( stop ) {
1549
- return isProperStop ( ax . dtick , stop . dtickrange , convertToMs )
1550
- } ) ;
1550
+ for ( var i = 0 ; i < ax . tickformatstops . length ; i ++ ) {
1551
+ if ( isProperStop ( ax . dtick , ax . tickformatstops [ i ] . dtickrange , convertToMs ) ) {
1552
+ tickstop = ax . tickformatstops [ i ] ;
1553
+ break ;
1554
+ }
1555
+ }
1551
1556
break ;
1552
1557
}
1553
1558
case 'log' : {
1554
- tickstop = ax . tickformatstops . find ( function ( stop ) {
1555
- var left = stop . dtickrange [ 0 ] , right = stop . dtickrange [ 1 ] ;
1556
- var isLeftDtickNull = left === null ;
1557
- var isRightDtickNull = right === null ;
1558
- var isDtickInRangeLeft = compareLogTicks ( ax . dtick , left ) >= 0 ;
1559
- var isDtickInRangeRight = compareLogTicks ( ax . dtick , right ) <= 0 ;
1560
- return ( isLeftDtickNull || isDtickInRangeLeft ) && ( isRightDtickNull || isDtickInRangeRight ) ;
1561
- } ) ;
1559
+ for ( var i = 0 ; i < ax . tickformatstops . length ; i ++ ) {
1560
+ if ( isProperLogStop ( ax . dtick , ax . tickformatstops [ i ] . dtickrange ) ) {
1561
+ tickstop = ax . tickformatstops [ i ] ;
1562
+ break ;
1563
+ }
1564
+ }
1562
1565
break ;
1563
1566
}
1564
1567
default :
0 commit comments