Skip to content

Commit 129e1f2

Browse files
committed
🔪 splom 'mode' (for now)
1 parent 99712dd commit 129e1f2

File tree

4 files changed

+22
-29
lines changed

4 files changed

+22
-29
lines changed

src/components/legend/style.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ module.exports = function style(s, gd) {
8383
function stylePoints(d) {
8484
var d0 = d[0],
8585
trace = d0.trace,
86-
showMarkers = subTypes.hasMarkers(trace),
86+
showMarkers = subTypes.hasMarkers(trace) || trace.type === 'splom',
8787
showText = subTypes.hasText(trace),
8888
showLines = subTypes.hasLines(trace);
8989

src/traces/splom/attributes.js

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -68,14 +68,11 @@ module.exports = {
6868
editType: 'calc+clearAxisTypes'
6969
},
7070

71-
mode: scatterGlAttrs.mode,
72-
text: scatterGlAttrs.text,
71+
// mode: {}, (only 'markers' for now)
7372

73+
text: scatterGlAttrs.text,
7474
marker: scatterGlAttrs.marker,
7575

76-
line: scatterGlAttrs.line,
77-
connectgaps: scatterGlAttrs.connectgaps,
78-
7976
xaxes: makeAxesValObject('x'),
8077
yaxes: makeAxesValObject('y'),
8178

@@ -118,8 +115,12 @@ module.exports = {
118115
].join(' ')
119116
},
120117

121-
selected: scatterGlAttrs.selected,
122-
unselected: scatterGlAttrs.unselected,
118+
selected: {
119+
marker: scatterGlAttrs.selected.marker
120+
},
121+
unselected: {
122+
marker: scatterGlAttrs.unselected.marker
123+
},
123124

124125
opacity: scatterGlAttrs.opacity
125126
};

src/traces/splom/defaults.js

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@ var Lib = require('../../lib');
1313
var attributes = require('./attributes');
1414
var subTypes = require('../scatter/subtypes');
1515
var handleMarkerDefaults = require('../scatter/marker_defaults');
16-
var handleLineDefaults = require('../scatter/line_defaults');
17-
var PTS_LINESONLY = require('../scatter/constants').PTS_LINESONLY;
1816
var OPEN_RE = /-open/;
1917

2018
module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout) {
@@ -28,24 +26,13 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout
2826
return;
2927
}
3028

31-
coerce('mode', traceOut._commonLength < PTS_LINESONLY ? 'lines+markers' : 'lines');
3229
coerce('text');
3330

34-
// TODO just markers for now
35-
traceOut.mode = 'markers';
31+
handleMarkerDefaults(traceIn, traceOut, defaultColor, layout, coerce);
3632

37-
if(subTypes.hasLines(traceOut)) {
38-
handleLineDefaults(traceIn, traceOut, defaultColor, layout, coerce);
39-
coerce('connectgaps');
40-
}
41-
42-
if(subTypes.hasMarkers(traceOut)) {
43-
handleMarkerDefaults(traceIn, traceOut, defaultColor, layout, coerce);
44-
45-
var isOpen = OPEN_RE.test(traceOut.marker.symbol);
46-
var isBubble = subTypes.isBubble(traceOut);
47-
coerce('marker.line.width', isOpen || isBubble ? 1 : 0);
48-
}
33+
var isOpen = OPEN_RE.test(traceOut.marker.symbol);
34+
var isBubble = subTypes.isBubble(traceOut);
35+
coerce('marker.line.width', isOpen || isBubble ? 1 : 0);
4936

5037
// TODO if all 3 below are false,
5138
// should we set `visible: false` and exit early?

src/traces/splom/index.js

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,12 @@ function calc(gd, trace) {
4343
}
4444
}
4545

46-
calcColorscales(trace);
47-
Lib.extendFlat(opts, convertMarkerStyle(trace));
46+
// add 'mode' to splom trace object to reuse scatter markers logic,
47+
// but do not mutate fullData items!
48+
var scatterTrace = Lib.extendFlat({}, trace, {mode: 'markers'});
49+
50+
calcColorscales(scatterTrace);
51+
Lib.extendFlat(opts, convertMarkerStyle(scatterTrace));
4852

4953
var visibleLength = matrixData.length;
5054
var hasTooManyPoints = (visibleLength * commonLength) > TOO_MANY_POINTS;
@@ -65,9 +69,10 @@ function calc(gd, trace) {
6569
if(hasTooManyPoints) {
6670
ppad = 2 * (opts.sizeAvg || Math.max(opts.size, 3));
6771
} else {
68-
ppad = calcMarkerSize(trace, commonLength);
72+
ppad = calcMarkerSize(scatterTrace, commonLength);
6973
}
70-
calcAxisExpansion(gd, trace, xa, ya, matrixData[k], matrixData[k], ppad);
74+
75+
calcAxisExpansion(gd, scatterTrace, xa, ya, matrixData[k], matrixData[k], ppad);
7176
k++;
7277
}
7378
}

0 commit comments

Comments
 (0)