@@ -717,7 +717,8 @@ axes.calcTicks = function calcTicks(ax, opts) {
717
717
718
718
var removedPreTick0Label = false ;
719
719
var ticksOut = new Array ( tickVals . length ) ;
720
- for ( var i = 0 ; i < tickVals . length ; i ++ ) {
720
+ var i ;
721
+ for ( i = 0 ; i < tickVals . length ; i ++ ) {
721
722
var _minor = tickVals [ i ] . minor ;
722
723
var _value = tickVals [ i ] . value ;
723
724
@@ -745,28 +746,32 @@ axes.calcTicks = function calcTicks(ax, opts) {
745
746
var B = tickVals [ b ] . value ;
746
747
747
748
var delta = definedDelta || Math . abs ( B - A ) ;
748
- var half = axrev ? - 0.5 : 0.5 ;
749
749
if ( delta >= ONEDAY * 365 ) { // Years could have days less than ONEAVGYEAR period
750
- v += half * ONEAVGYEAR ;
750
+ v += ONEAVGYEAR / 2 ;
751
751
} else if ( delta >= ONEDAY * 28 ) { // Months could have days less than ONEAVGMONTH period
752
- v += half * ONEAVGMONTH ;
752
+ v += ONEAVGMONTH / 2 ;
753
753
} else if ( delta >= ONEDAY ) {
754
- v += half * ONEDAY ;
754
+ v += ONEDAY / 2 ;
755
755
}
756
756
757
757
ticksOut [ i ] . periodX = v ;
758
758
759
759
if ( v > maxRange || v < minRange ) { // hide label if outside the range
760
760
ticksOut [ i ] . text = '' ;
761
- if ( i === 0 ) removedPreTick0Label = true ;
761
+ removedPreTick0Label = true ;
762
762
}
763
763
}
764
764
}
765
765
766
- if ( removedPreTick0Label && ticksOut . length > 1 ) {
767
- // redo tick0 text
768
- ax . _prevDateHead = '' ;
769
- ticksOut [ 1 ] . text = axes . tickText ( ax , tickVals [ 1 ] . value ) . text ;
766
+ if ( removedPreTick0Label ) {
767
+ for ( i = 1 ; i < ticksOut . length ; i ++ ) {
768
+ if ( ticksOut [ i ] . periodX <= maxRange && ticksOut [ i ] . periodX >= minRange ) {
769
+ // redo first visible tick
770
+ ax . _prevDateHead = '' ;
771
+ ticksOut [ i ] . text = axes . tickText ( ax , tickVals [ i ] . value ) . text ;
772
+ break ;
773
+ }
774
+ }
770
775
}
771
776
772
777
ax . _inCalcTicks = false ;
0 commit comments