@@ -120,8 +120,8 @@ function getAutoRange(gd, ax) {
120
120
} else if ( dv / axLen > mbest ) {
121
121
// in case of padding longer than the axis
122
122
// at least include the unpadded data values.
123
- minbest = { val : minpt . val , pad : 0 } ;
124
- maxbest = { val : maxpt . val , pad : 0 } ;
123
+ minbest = { val : minpt . val , nopad : 1 } ;
124
+ maxbest = { val : maxpt . val , nopad : 1 } ;
125
125
mbest = dv / axLen ;
126
126
}
127
127
}
@@ -158,17 +158,17 @@ function getAutoRange(gd, ax) {
158
158
} else {
159
159
if ( toZero ) {
160
160
if ( minbest . val >= 0 ) {
161
- minbest = { val : 0 , pad : 0 } ;
161
+ minbest = { val : 0 , nopad : 1 } ;
162
162
}
163
163
if ( maxbest . val <= 0 ) {
164
- maxbest = { val : 0 , pad : 0 } ;
164
+ maxbest = { val : 0 , nopad : 1 } ;
165
165
}
166
166
} else if ( nonNegative ) {
167
167
if ( minbest . val - mbest * getPadMin ( minbest ) < 0 ) {
168
- minbest = { val : 0 , pad : 0 } ;
168
+ minbest = { val : 0 , nopad : 1 } ;
169
169
}
170
170
if ( maxbest . val <= 0 ) {
171
- maxbest = { val : 1 , pad : 0 } ;
171
+ maxbest = { val : 1 , nopad : 1 } ;
172
172
}
173
173
}
174
174
@@ -226,10 +226,15 @@ function makePadFn(fullLayout, ax, max) {
226
226
var A = 0 ;
227
227
var B = 0 ;
228
228
if ( ! isLinked ( fullLayout , ax . _id ) ) {
229
- if ( ax . rangemode !== 'nonnegative' ) {
229
+ if (
230
+ ax . rangemode !== 'tozero' &&
231
+ ax . rangemode !== 'nonnegative'
232
+ ) {
230
233
A = padInsideLabelsOnAnchorAxis ( ax , max ) ;
231
-
232
- if ( anchorAxis . rangemode !== 'nonnegative' ) {
234
+ if (
235
+ anchorAxis . rangemode !== 'tozero' &&
236
+ anchorAxis . rangemode !== 'nonnegative'
237
+ ) {
233
238
B = padInsideLabelsOnThisAxis ( ax , max ) ;
234
239
}
235
240
}
@@ -245,7 +250,10 @@ function makePadFn(fullLayout, ax, max) {
245
250
( ax . domain [ 1 ] - ax . domain [ 0 ] ) ;
246
251
}
247
252
248
- return function getPad ( pt ) { return pt . pad + ( pt . extrapad ? extrappad : zero ) ; } ;
253
+ return function getPad ( pt ) {
254
+ if ( pt . nopad ) return 0 ;
255
+ return pt . pad + ( pt . extrapad ? extrappad : zero ) ;
256
+ } ;
249
257
}
250
258
251
259
var TEXTPAD = 3 ;
0 commit comments