|
12 | 12 | var id2name = require('./axis_ids').id2name; |
13 | 13 | var scaleZoom = require('./scale_zoom'); |
14 | 14 | var makePadFn = require('./autorange').makePadFn; |
| 15 | +var concatExtremes = require('./autorange').concatExtremes; |
15 | 16 |
|
16 | 17 | var ALMOST_EQUAL = require('../../constants/numerical').ALMOST_EQUAL; |
17 | 18 |
|
@@ -112,7 +113,7 @@ exports.enforce = function enforceAxisConstraints(gd) { |
112 | 113 | factor *= rangeShrunk; |
113 | 114 | } |
114 | 115 |
|
115 | | - if(ax.autorange && ax._min.length && ax._max.length) { |
| 116 | + if(ax.autorange) { |
116 | 117 | /* |
117 | 118 | * range & factor may need to change because range was |
118 | 119 | * calculated for the larger scaling, so some pixel |
@@ -143,15 +144,17 @@ exports.enforce = function enforceAxisConstraints(gd) { |
143 | 144 | var newVal; |
144 | 145 | var k; |
145 | 146 |
|
146 | | - for(k = 0; k < ax._min.length; k++) { |
147 | | - newVal = ax._min[k].val - getPad(ax._min[k]) / m; |
| 147 | + var minArray = concatExtremes(gd, ax, 'min'); |
| 148 | + for(k = 0; k < minArray.length; k++) { |
| 149 | + newVal = minArray[k].val - getPad(minArray[k]) / m; |
148 | 150 | if(newVal > outerMin && newVal < rangeMin) { |
149 | 151 | rangeMin = newVal; |
150 | 152 | } |
151 | 153 | } |
152 | 154 |
|
153 | | - for(k = 0; k < ax._max.length; k++) { |
154 | | - newVal = ax._max[k].val + getPad(ax._max[k]) / m; |
| 155 | + var maxArray = concatExtremes(gd, ax, 'max'); |
| 156 | + for(k = 0; k < maxArray.length; k++) { |
| 157 | + newVal = maxArray[k].val + getPad(maxArray[k]) / m; |
155 | 158 | if(newVal < outerMax && newVal > rangeMax) { |
156 | 159 | rangeMax = newVal; |
157 | 160 | } |
|
0 commit comments