Skip to content

Commit 2a25820

Browse files
authored
Merge pull request #2533 from darabos/darabos-reversed-cliponaxis-false
Fix containment check for reversed ranges
2 parents beaa715 + 0cdc669 commit 2a25820

File tree

3 files changed

+39
-8
lines changed

3 files changed

+39
-8
lines changed

src/plots/cartesian/set_convert.js

+9-5
Original file line numberDiff line numberDiff line change
@@ -448,11 +448,15 @@ module.exports = function setConvert(ax, fullLayout) {
448448

449449
ax.isPtWithinRange = function(d, calendar) {
450450
var coord = ax.c2l(d[axLetter], null, calendar);
451-
452-
return (
453-
coord >= ax.r2l(ax.range[0]) &&
454-
coord <= ax.r2l(ax.range[1])
455-
);
451+
var r0 = ax.r2l(ax.range[0]);
452+
var r1 = ax.r2l(ax.range[1]);
453+
454+
if(r0 < r1) {
455+
return r0 <= coord && coord <= r1;
456+
} else {
457+
// Reversed axis case.
458+
return r1 <= coord && coord <= r0;
459+
}
456460
};
457461

458462
ax.clearCalc = function() {
5.36 KB
Loading

test/image/mocks/bar_cliponaxis-false.json

+30-3
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,18 @@
3636
"cliponaxis": true,
3737
"textfont": {"size": [20]},
3838
"marker": {"opacity": 0.3}
39+
},
40+
{
41+
"type": "bar",
42+
"name": "should see text",
43+
"x": ["banana"],
44+
"y": [1],
45+
"text": ["banana"],
46+
"textposition": "outside",
47+
"cliponaxis": false,
48+
"textfont": {"size": [20]},
49+
"xaxis": "x3",
50+
"yaxis": "y3"
3951
}
4052
],
4153
"layout": {
@@ -51,15 +63,23 @@
5163
"showticklabels": false,
5264
"mirror": true,
5365
"layer": "below traces",
54-
"domain": [0, 0.48]
66+
"domain": [0, 0.38]
5567
},
5668
"xaxis2": {
5769
"anchor": "y2",
5870
"showline": true,
5971
"showticklabels": false,
6072
"mirror": true,
6173
"layer": "below traces",
62-
"domain": [0.52, 1]
74+
"domain": [0.42, 0.80]
75+
},
76+
"xaxis3": {
77+
"anchor": "y3",
78+
"showline": true,
79+
"showticklabels": false,
80+
"mirror": true,
81+
"layer": "below traces",
82+
"domain": [0.84, 1]
6383
},
6484
"yaxis": {
6585
"showline": true,
@@ -74,7 +94,14 @@
7494
"layer": "below traces",
7595
"range": [0, 2]
7696
},
77-
"width": 700,
97+
"yaxis3": {
98+
"anchor": "x3",
99+
"showline": true,
100+
"mirror": true,
101+
"layer": "below traces",
102+
"range": [2, 0]
103+
},
104+
"width": 800,
78105
"height": 400,
79106
"margin": {"t": 40},
80107
"dragmode": "pan"

0 commit comments

Comments
 (0)