Skip to content

Commit 6caf991

Browse files
committed
apply Drawing.hideOutsideRangePoints to trace groups
- to allow it to pass trace-wide property (e.g. input calendars)
1 parent 82326ba commit 6caf991

File tree

4 files changed

+23
-27
lines changed

4 files changed

+23
-27
lines changed

src/components/drawing/index.js

+5-3
Original file line numberDiff line numberDiff line change
@@ -99,14 +99,16 @@ drawing.hideOutsideRangePoint = function(d, sel, xa, ya) {
9999
);
100100
};
101101

102-
drawing.hideOutsideRangePoints = function(points, subplot) {
102+
drawing.hideOutsideRangePoints = function(traceGroups, subplot) {
103103
if(!subplot._hasClipOnAxisFalse) return;
104104

105105
var xa = subplot.xaxis;
106106
var ya = subplot.yaxis;
107107

108-
points.each(function(d) {
109-
drawing.hideOutsideRangePoint(d, d3.select(this), xa, ya);
108+
traceGroups.each(function(d) {
109+
traceGroups.selectAll('.point,.textpoint').each(function(d) {
110+
drawing.hideOutsideRangePoint(d, d3.select(this), xa, ya);
111+
});
110112
});
111113
};
112114

src/plots/cartesian/dragbox.js

+10-10
Original file line numberDiff line numberDiff line change
@@ -751,21 +751,21 @@ module.exports = function dragBox(gd, plotinfo, x, y, w, h, ns, ew) {
751751
.call(Drawing.setTranslate, clipDx, clipDy)
752752
.call(Drawing.setScale, xScaleFactor2, yScaleFactor2);
753753

754-
var scatterPoints = subplot.plot.selectAll('.scatterlayer .points, .boxlayer .points');
754+
var traceGroups = subplot.plot
755+
.selectAll('.scatterlayer .trace, .boxlayer .trace');
755756

756757
subplot.plot
757758
.call(Drawing.setTranslate, plotDx, plotDy)
758759
.call(Drawing.setScale, 1 / xScaleFactor2, 1 / yScaleFactor2);
759760

760-
// This is specifically directed at scatter traces, applying an inverse
761-
// scale to individual points to counteract the scale of the trace
762-
// as a whole:
763-
scatterPoints.selectAll('.point')
764-
.call(Drawing.setPointGroupScale, xScaleFactor2, yScaleFactor2)
765-
.call(Drawing.hideOutsideRangePoints, subplot);
766-
767-
scatterPoints.selectAll('.textpoint')
768-
.call(Drawing.setTextPointsScale, xScaleFactor2, yScaleFactor2)
761+
// This is specifically directed at marker points in scatter, box and violin traces,
762+
// applying an inverse scale to individual points to counteract
763+
// the scale of the trace as a whole:
764+
traceGroups.selectAll('.point')
765+
.call(Drawing.setPointGroupScale, xScaleFactor2, yScaleFactor2);
766+
traceGroups.selectAll('.textpoint')
767+
.call(Drawing.setTextPointsScale, xScaleFactor2, yScaleFactor2);
768+
traceGroups
769769
.call(Drawing.hideOutsideRangePoints, subplot);
770770
}
771771
}

src/plots/cartesian/transition_axes.js

+6-7
Original file line numberDiff line numberDiff line change
@@ -161,17 +161,16 @@ module.exports = function transitionAxes(gd, newLayout, transitionOpts, makeOnCo
161161
.call(Drawing.setTranslate, xa2._offset, ya2._offset)
162162
.call(Drawing.setScale, 1, 1);
163163

164-
var scatterPoints = subplot.plot.select('.scatterlayer').selectAll('.points');
164+
var traceGroups = subplot.plot.selectAll('.scatterlayer .trace');
165165

166166
// This is specifically directed at scatter traces, applying an inverse
167167
// scale to individual points to counteract the scale of the trace
168168
// as a whole:
169-
scatterPoints.selectAll('.point')
170-
.call(Drawing.setPointGroupScale, 1, 1)
171-
.call(Drawing.hideOutsideRangePoints, subplot);
172-
173-
scatterPoints.selectAll('.textpoint')
174-
.call(Drawing.setTextPointsScale, 1, 1)
169+
traceGroups.selectAll('.point')
170+
.call(Drawing.setPointGroupScale, 1, 1);
171+
traceGroups.selectAll('.textpoint')
172+
.call(Drawing.setTextPointsScale, 1, 1);
173+
traceGroups
175174
.call(Drawing.hideOutsideRangePoints, subplot);
176175
}
177176

src/plots/ternary/ternary.js

+2-7
Original file line numberDiff line numberDiff line change
@@ -652,13 +652,8 @@ proto.initInteractions = function() {
652652
_this.plotContainer.selectAll('.crisp').classed('crisp', false);
653653

654654
if(_this._hasClipOnAxisFalse) {
655-
var scatterPoints = _this.plotContainer
656-
.select('.scatterlayer').selectAll('.points');
657-
658-
scatterPoints.selectAll('.point')
659-
.call(Drawing.hideOutsideRangePoints, _this);
660-
661-
scatterPoints.selectAll('.textpoint')
655+
_this.plotContainer
656+
.select('.scatterlayer').selectAll('.trace')
662657
.call(Drawing.hideOutsideRangePoints, _this);
663658
}
664659
}

0 commit comments

Comments
 (0)