Skip to content

Commit 9f6d1b6

Browse files
committed
find min/max using Lib.aggNums instead of sorting arrays
1 parent 9046da1 commit 9f6d1b6

File tree

2 files changed

+16
-13
lines changed

2 files changed

+16
-13
lines changed

src/traces/carpet/plot.js

+8-6
Original file line numberDiff line numberDiff line change
@@ -173,20 +173,22 @@ function drawAxisLabels(gd, xaxis, yaxis, trace, t, layer, labels, labelClass) {
173173
function drawAxisTitles(gd, layer, trace, t, xa, ya, labelOrientationA, labelOrientationB) {
174174
var a, b, xy, dxy;
175175

176-
var _a = trace.a.slice().sort(Lib.sorterAsc);
177-
var _b = trace.b.slice().sort(Lib.sorterAsc);
176+
var aMin = Lib.aggNums(Math.min, null, trace.a);
177+
var aMax = Lib.aggNums(Math.max, null, trace.a);
178+
var bMin = Lib.aggNums(Math.min, null, trace.b);
179+
var bMax = Lib.aggNums(Math.max, null, trace.b);
178180

179-
a = 0.5 * (_a[0] + _a[_a.length - 1]);
180-
b = _b[0];
181+
a = 0.5 * (aMin + aMax);
182+
b = bMin;
181183
xy = trace.ab2xy(a, b, true);
182184
dxy = trace.dxyda_rough(a, b);
183185
if(labelOrientationA.angle === undefined) {
184186
Lib.extendFlat(labelOrientationA, orientText(trace, xa, ya, xy, trace.dxydb_rough(a, b)));
185187
}
186188
drawAxisTitle(gd, layer, trace, t, xy, dxy, trace.aaxis, xa, ya, labelOrientationA, 'a-title');
187189

188-
a = _a[0];
189-
b = 0.5 * (_b[0] + _b[_b.length - 1]);
190+
a = aMin;
191+
b = 0.5 * (bMin + bMax);
190192
xy = trace.ab2xy(a, b, true);
191193
dxy = trace.dxydb_rough(a, b);
192194
if(labelOrientationB.angle === undefined) {

src/traces/contour/plot.js

+8-7
Original file line numberDiff line numberDiff line change
@@ -244,19 +244,20 @@ function makeLinesAndLabels(plotgroup, pathinfo, gd, cd0, contours) {
244244
.attr('data-notex', 1)
245245
.call(Drawing.font, contours.labelfont);
246246

247-
var _x = cd0.x.slice().sort(Lib.sorterAsc);
248-
var _y = cd0.y.slice().sort(Lib.sorterAsc);
249-
250247
var xa = pathinfo[0].xaxis;
251248
var ya = pathinfo[0].yaxis;
252249
var xLen = xa._length;
253250
var yLen = ya._length;
254251
var xRng = xa.range;
255252
var yRng = ya.range;
256-
var x0 = Math.max(xa.c2p(_x[0], true), 0);
257-
var x1 = Math.min(xa.c2p(_x[_x.length - 1], true), xLen);
258-
var y0 = Math.max(ya.c2p(_y[_y.length - 1], true), 0);
259-
var y1 = Math.min(ya.c2p(_y[0], true), yLen);
253+
var xMin = Lib.aggNums(Math.min, null, cd0.x);
254+
var xMax = Lib.aggNums(Math.max, null, cd0.x);
255+
var yMin = Lib.aggNums(Math.min, null, cd0.y);
256+
var yMax = Lib.aggNums(Math.max, null, cd0.y);
257+
var x0 = Math.max(xa.c2p(xMin, true), 0);
258+
var x1 = Math.min(xa.c2p(xMax, true), xLen);
259+
var y0 = Math.max(ya.c2p(yMax, true), 0);
260+
var y1 = Math.min(ya.c2p(yMin, true), yLen);
260261

261262
// visible bounds of the contour trace (and the midpoints, to
262263
// help with cost calculations)

0 commit comments

Comments
 (0)