|
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