Skip to content

Commit 665e56c

Browse files
committed
modebar: use axis r21 and l2r to compute zoom +/- ranges
- so that zoomed ranges are computed consistently for all axis types
1 parent d7de2ae commit 665e56c

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

src/components/modebar/buttons.js

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -204,9 +204,18 @@ function handleCartesian(gd, ev) {
204204
}
205205
}
206206
else {
207-
var rangeNow = ax.range;
208-
aobj[axName + '.range[0]'] = Math.floor(r0 * rangeNow[0] + r1 * rangeNow[1]);
209-
aobj[axName + '.range[1]'] = Math.floor(r0 * rangeNow[1] + r1 * rangeNow[0]);
207+
var rangeNow = [
208+
ax.r2l(ax.range[0]),
209+
ax.r2l(ax.range[1]),
210+
];
211+
212+
var rangeNew = [
213+
r0 * rangeNow[0] + r1 * rangeNow[1],
214+
r0 * rangeNow[1] + r1 * rangeNow[0]
215+
];
216+
217+
aobj[axName + '.range[0]'] = ax.l2r(rangeNew[0]);
218+
aobj[axName + '.range[1]'] = ax.l2r(rangeNew[1]);
210219
}
211220
}
212221
}

0 commit comments

Comments
 (0)