From 5c7f524569d04d5c748ae8db410040878d1f2ab4 Mon Sep 17 00:00:00 2001 From: archmoj Date: Mon, 16 Mar 2020 10:14:39 -0400 Subject: [PATCH] keep total length of rangebreaks (_lBreaks) positive --- src/plots/cartesian/axes.js | 4 ++-- src/plots/cartesian/set_convert.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/plots/cartesian/axes.js b/src/plots/cartesian/axes.js index fa19b0e6cf4..a026da98b2e 100644 --- a/src/plots/cartesian/axes.js +++ b/src/plots/cartesian/axes.js @@ -527,7 +527,7 @@ axes.prepTicks = function(ax) { if(ax.tickmode === 'array') nt *= 100; - ax._roughDTick = (Math.abs(rng[1] - rng[0]) - Math.abs(ax._lBreaks || 0)) / nt; + ax._roughDTick = (Math.abs(rng[1] - rng[0]) - (ax._lBreaks || 0)) / nt; axes.autoTicks(ax, ax._roughDTick); // check for a forced minimum dtick @@ -1009,7 +1009,7 @@ axes.tickText = function(ax, x, hover, noSuffixPrefix) { if(arrayMode && Array.isArray(ax.ticktext)) { var rng = Lib.simpleMap(ax.range, ax.r2l); - var minDiff = (Math.abs(rng[1] - rng[0]) - Math.abs(ax._lBreaks || 0)) / 10000; + var minDiff = (Math.abs(rng[1] - rng[0]) - (ax._lBreaks || 0)) / 10000; for(i = 0; i < ax.ticktext.length; i++) { if(Math.abs(x - tickVal2l(ax.tickvals[i])) < minDiff) break; diff --git a/src/plots/cartesian/set_convert.js b/src/plots/cartesian/set_convert.js index 42a27bf92ad..7f4b834ee4e 100644 --- a/src/plots/cartesian/set_convert.js +++ b/src/plots/cartesian/set_convert.js @@ -572,7 +572,7 @@ module.exports = function setConvert(ax, fullLayout) { if(ax._rangebreaks.length) { for(i = 0; i < ax._rangebreaks.length; i++) { brk = ax._rangebreaks[i]; - ax._lBreaks += brk.max - brk.min; + ax._lBreaks += Math.abs(brk.max - brk.min); } ax._m2 = ax._length / (rl1 - rl0 - ax._lBreaks * signAx);