@@ -694,7 +694,6 @@ axes.calcTicks = function calcTicks(ax, opts) {
694
694
x = axes . tickIncrement ( x , ax . dtick , axrev , ax . calendar )
695
695
) {
696
696
if ( ax . rangebreaks && moveOutsideBreak ( x , ax ) === maxRange ) continue ;
697
-
698
697
// prevent infinite loops - no more than one tick per pixel,
699
698
// and make sure each value is different from the previous
700
699
if ( tickVals . length > maxTicks || x === xPrevious ) break ;
@@ -827,7 +826,7 @@ axes.calcTicks = function calcTicks(ax, opts) {
827
826
( prevL > l - fontSize ) :
828
827
( prevL < l + fontSize )
829
828
) { // ensure one pixel minimum
830
- tickVals . splice ( i , 1 ) ;
829
+ tickVals . splice ( i + ( axrev ? 1 : 0 ) , 1 ) ;
831
830
} else {
832
831
prevL = l ;
833
832
}
@@ -3393,8 +3392,11 @@ function moveOutsideBreak(v, ax, isStart) {
3393
3392
var len = ax . _rangebreaks . length ;
3394
3393
for ( var k = 0 ; k < len ; k ++ ) {
3395
3394
var brk = ax . _rangebreaks [ k ] ;
3396
- if ( v >= brk . min && v < brk . max ) {
3397
- return isStart ? brk . min : brk . max ;
3395
+ // TODO: figure out why brk.min > brk.max ?!
3396
+ var min = Math . min ( brk . min , brk . max ) ;
3397
+ var max = Math . max ( brk . min , brk . max ) ;
3398
+ if ( v >= min && v < max ) {
3399
+ return isStart ? min : max ;
3398
3400
}
3399
3401
}
3400
3402
return v ;
0 commit comments