@@ -849,6 +849,7 @@ axes.calcTicks = function calcTicks(ax, opts) {
849
849
} else {
850
850
ax . minor . _dtickInit = ax . minor . dtick ;
851
851
ax . minor . _tick0Init = ax . minor . tick0 ;
852
+ ax . minor . _ntickInit = ax . minor . ntick ;
852
853
}
853
854
854
855
var mockAx = major ? ax : Lib . extendFlat ( { } , ax , ax . minor ) ;
@@ -858,6 +859,7 @@ axes.calcTicks = function calcTicks(ax, opts) {
858
859
mockAx . _majorDtick = ax . dtick ;
859
860
mockAx . dtick = mockAx . _dtickInit ;
860
861
mockAx . tick0 = mockAx . _tick0Init ;
862
+ mockAx . ntick = mockAx . _ntickInit ;
861
863
}
862
864
}
863
865
@@ -1015,9 +1017,9 @@ axes.calcTicks = function calcTicks(ax, opts) {
1015
1017
var found = false ;
1016
1018
for ( var q = 0 ; ! found && ( q < tickVals . length ) ; q ++ ) {
1017
1019
if (
1018
- // add 1000 to eliminate problematic digits
1019
- 1000 + tickVals [ q ] . value ===
1020
- 1000 + v
1020
+ // add 10e6 to eliminate problematic digits
1021
+ 10e6 + tickVals [ q ] . value ===
1022
+ 10e6 + v
1021
1023
) {
1022
1024
found = true ;
1023
1025
}
@@ -1344,8 +1346,13 @@ axes.autoTicks = function(ax, roughDTick, isMinor) {
1344
1346
} else {
1345
1347
// auto ticks always start at 0
1346
1348
ax . tick0 = 0 ;
1347
- base = getBase ( 10 ) ;
1348
- ax . dtick = roundDTick ( roughDTick , base , roundBase10 ) ;
1349
+ if ( isMinor && ax . nticks ) {
1350
+ // do not round when minor has nticks in this case
1351
+ ax . dtick = roughDTick ;
1352
+ } else {
1353
+ base = getBase ( 10 ) ;
1354
+ ax . dtick = roundDTick ( roughDTick , base , roundBase10 ) ;
1355
+ }
1349
1356
}
1350
1357
1351
1358
// prevent infinite loops
0 commit comments