Skip to content

Commit 4da7e58

Browse files
committed
declare calcBreaksLength once
1 parent a382098 commit 4da7e58

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

src/plots/cartesian/autorange.js

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -95,27 +95,14 @@ function getAutoRange(gd, ax) {
9595
// don't allow padding to reduce the data to < 10% of the length
9696
var minSpan = axLen / 10;
9797

98-
// find axis rangebreaks in [v0,v1] and compute its length in value space
99-
var calcBreaksLength = function(v0, v1) {
100-
var lBreaks = 0;
101-
if(ax.rangebreaks) {
102-
var rangebreaksOut = ax.locateBreaks(v0, v1);
103-
for(var i = 0; i < rangebreaksOut.length; i++) {
104-
var brk = rangebreaksOut[i];
105-
lBreaks += brk.max - brk.min;
106-
}
107-
}
108-
return lBreaks;
109-
};
110-
11198
var mbest = 0;
11299
var minpt, maxpt, minbest, maxbest, dp, dv;
113100

114101
for(i = 0; i < minArray.length; i++) {
115102
minpt = minArray[i];
116103
for(j = 0; j < maxArray.length; j++) {
117104
maxpt = maxArray[j];
118-
dv = maxpt.val - minpt.val - calcBreaksLength(minpt.val, maxpt.val);
105+
dv = maxpt.val - minpt.val - calcBreaksLength(ax, minpt.val, maxpt.val);
119106
if(dv > 0) {
120107
dp = axLen - getPad(minpt) - getPad(maxpt);
121108
if(dp > minSpan) {
@@ -180,7 +167,7 @@ function getAutoRange(gd, ax) {
180167
}
181168

182169
// in case it changed again...
183-
mbest = (maxbest.val - minbest.val - calcBreaksLength(minpt.val, maxpt.val)) /
170+
mbest = (maxbest.val - minbest.val - calcBreaksLength(ax, minpt.val, maxpt.val)) /
184171
(axLen - getPad(minbest) - getPad(maxbest));
185172

186173
newRange = [
@@ -195,6 +182,19 @@ function getAutoRange(gd, ax) {
195182
return Lib.simpleMap(newRange, ax.l2r || Number);
196183
}
197184

185+
// find axis rangebreaks in [v0,v1] and compute its length in value space
186+
function calcBreaksLength(ax, v0, v1) {
187+
var lBreaks = 0;
188+
if(ax.rangebreaks) {
189+
var rangebreaksOut = ax.locateBreaks(v0, v1);
190+
for(var i = 0; i < rangebreaksOut.length; i++) {
191+
var brk = rangebreaksOut[i];
192+
lBreaks += brk.max - brk.min;
193+
}
194+
}
195+
return lBreaks;
196+
}
197+
198198
/*
199199
* calculate the pixel padding for ax._min and ax._max entries with
200200
* optional extrapad as 5% of the total axis length

0 commit comments

Comments
 (0)