Skip to content

Commit 6fd6bd4

Browse files
committed
Fix ticklabelindex for reversed axes
Check for period compatibility did not take reversed axis into account. Also added reversed axis to mock.
1 parent 884d975 commit 6fd6bd4

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

src/plots/cartesian/axes.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -910,6 +910,7 @@ axes.calcTicks = function calcTicks(ax, opts) {
910910
var calendar = ax.calendar;
911911
var ticklabelstep = ax.ticklabelstep;
912912
var isPeriod = ax.ticklabelmode === 'period';
913+
var isReversed = ax.range[0] > ax.range[1];
913914
var ticklabelIndex = ax.ticklabelindex;
914915
var rng = Lib.simpleMap(ax.range, ax.r2l, undefined, undefined, opts);
915916
var axrev = (rng[1] < rng[0]);
@@ -1084,7 +1085,7 @@ axes.calcTicks = function calcTicks(ax, opts) {
10841085
if(!minorTickVals || minorTickVals.length < 2) {
10851086
ticklabelIndex = false;
10861087
} else {
1087-
var diff = minorTickVals[1].value - minorTickVals[0].value;
1088+
var diff = (minorTickVals[1].value - minorTickVals[0].value) * (isReversed ? -1 : 1);
10881089
if(!periodCompatibleWithTickformat(diff, ax.tickformat)) {
10891090
ticklabelIndex = false;
10901091
}
@@ -1101,6 +1102,7 @@ axes.calcTicks = function calcTicks(ax, opts) {
11011102
// first major tick was just added for period handling
11021103
allTickVals = allTickVals.slice(1);
11031104
}
1105+
11041106
allTickVals =
11051107
allTickVals
11061108
.sort(function(a, b) { return a.value - b.value; })

test/image/mocks/zzz_ticklabelindex.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,7 @@
174174
"ticks": "outside"
175175
},
176176
"tickformat": "%b %Y",
177+
"autorange": "reversed",
177178
"ticklabelindex": -1,
178179
"tickangle": 90,
179180
"ticklabelmode": "period",

0 commit comments

Comments
 (0)