Skip to content

Commit 8cd06ae

Browse files
committed
adapt enforceConstraints to new per trace/item _extremes
1 parent 6194457 commit 8cd06ae

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

src/plots/cartesian/autorange.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ module.exports = {
2020
makePadFn: makePadFn,
2121
doAutoRange: doAutoRange,
2222
expand: expand,
23-
findExtremes: findExtremes
23+
findExtremes: findExtremes,
24+
concatExtremes: concatExtremes
2425
};
2526

2627
/**

src/plots/cartesian/constraints.js

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
var id2name = require('./axis_ids').id2name;
1313
var scaleZoom = require('./scale_zoom');
1414
var makePadFn = require('./autorange').makePadFn;
15+
var concatExtremes = require('./autorange').concatExtremes;
1516

1617
var ALMOST_EQUAL = require('../../constants/numerical').ALMOST_EQUAL;
1718

@@ -112,7 +113,7 @@ exports.enforce = function enforceAxisConstraints(gd) {
112113
factor *= rangeShrunk;
113114
}
114115

115-
if(ax.autorange && ax._min.length && ax._max.length) {
116+
if(ax.autorange) {
116117
/*
117118
* range & factor may need to change because range was
118119
* calculated for the larger scaling, so some pixel
@@ -143,15 +144,17 @@ exports.enforce = function enforceAxisConstraints(gd) {
143144
var newVal;
144145
var k;
145146

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;
148150
if(newVal > outerMin && newVal < rangeMin) {
149151
rangeMin = newVal;
150152
}
151153
}
152154

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;
155158
if(newVal < outerMax && newVal > rangeMax) {
156159
rangeMax = newVal;
157160
}

0 commit comments

Comments
 (0)