Skip to content

Commit 82fefa9

Browse files
committed
Move point symbol style to single point style func
1 parent dfd2037 commit 82fefa9

File tree

1 file changed

+32
-33
lines changed

1 file changed

+32
-33
lines changed

src/components/drawing/index.js

Lines changed: 32 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,37 @@ drawing.symbolNumber = function(v) {
194194
};
195195

196196
function singlePointStyle(d, sel, trace, markerScale, lineScale, marker, markerLine) {
197+
// only scatter & box plots get marker path and opacity
198+
// bars, histograms don't
199+
if(Registry.traceIs(trace, 'symbols')) {
200+
var sizeFn = makeBubbleSizeFn(trace);
201+
202+
sel.attr('d', function(d) {
203+
var r;
204+
205+
// handle multi-trace graph edit case
206+
if(d.ms === 'various' || marker.size === 'various') r = 3;
207+
else r = subTypes.isBubble(trace) ?
208+
sizeFn(d.ms) : (marker.size || 6) / 2;
209+
210+
// store the calculated size so hover can use it
211+
d.mrc = r;
212+
213+
// turn the symbol into a sanitized number
214+
var x = drawing.symbolNumber(d.mx || marker.symbol) || 0,
215+
xBase = x % 100;
216+
217+
// save if this marker is open
218+
// because that impacts how to handle colors
219+
d.om = x % 200 >= 100;
220+
221+
return drawing.symbolFuncs[xBase](r) +
222+
(x >= 200 ? DOTPATH : '');
223+
})
224+
.style('opacity', function(d) {
225+
return (d.mo + 1 || marker.opacity + 1) - 1;
226+
});
227+
}
197228

198229
// 'so' is suspected outliers, for box plots
199230
var fillColor,
@@ -254,41 +285,9 @@ drawing.singlePointStyle = function(d, sel, trace) {
254285
drawing.pointStyle = function(s, trace) {
255286
if(!s.size()) return;
256287

257-
var marker = trace.marker;
258-
259-
// only scatter & box plots get marker path and opacity
260-
// bars, histograms don't
261-
if(Registry.traceIs(trace, 'symbols')) {
262-
var sizeFn = makeBubbleSizeFn(trace);
263-
264-
s.attr('d', function(d) {
265-
var r;
266-
267-
// handle multi-trace graph edit case
268-
if(d.ms === 'various' || marker.size === 'various') r = 3;
269-
else r = subTypes.isBubble(trace) ?
270-
sizeFn(d.ms) : (marker.size || 6) / 2;
271-
272-
// store the calculated size so hover can use it
273-
d.mrc = r;
274-
275-
// turn the symbol into a sanitized number
276-
var x = drawing.symbolNumber(d.mx || marker.symbol) || 0,
277-
xBase = x % 100;
278-
279-
// save if this marker is open
280-
// because that impacts how to handle colors
281-
d.om = x % 200 >= 100;
282-
283-
return drawing.symbolFuncs[xBase](r) +
284-
(x >= 200 ? DOTPATH : '');
285-
})
286-
.style('opacity', function(d) {
287-
return (d.mo + 1 || marker.opacity + 1) - 1;
288-
});
289-
}
290288
// allow array marker and marker line colors to be
291289
// scaled by given max and min to colorscales
290+
var marker = trace.marker;
292291
var markerIn = (trace._input || {}).marker || {},
293292
markerScale = drawing.tryColorscale(marker, markerIn, ''),
294293
lineScale = drawing.tryColorscale(marker, markerIn, 'line.');

0 commit comments

Comments
 (0)