Skip to content

Commit 778ebb8

Browse files
committed
rm dimension loop in calc step,
-> dig to find full trace in calcdata in parcoords.js instead.
1 parent c6b8d34 commit 778ebb8

File tree

3 files changed

+17
-33
lines changed

3 files changed

+17
-33
lines changed

src/traces/parcoords/calc.js

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -14,22 +14,6 @@ var Lib = require('../../lib');
1414

1515

1616
module.exports = function calc(gd, trace) {
17-
var inputDimensions = trace.dimensions,
18-
dimensions = [];
19-
for(var i = 0; i < inputDimensions.length; i++) {
20-
21-
dimensions.push({
22-
range: inputDimensions[i].range,
23-
constraintrange: inputDimensions[i].constraintrange,
24-
tickvals: inputDimensions[i].tickvals,
25-
ticktext: inputDimensions[i].ticktext,
26-
tickformat: inputDimensions[i].tickformat,
27-
visible: inputDimensions[i].visible,
28-
label: inputDimensions[i].label,
29-
values: inputDimensions[i].values
30-
});
31-
}
32-
3317
var cs = !!trace.line.colorscale && Lib.isArray(trace.line.color);
3418
var color = cs ? trace.line.color : Array.apply(0, Array(trace.dimensions.reduce(function(p, n) {return Math.max(p, n.values.length);}, 0))).map(function() {return 0.5;});
3519
var cscale = cs ? trace.line.colorscale : [[0, trace.line.color], [1, trace.line.color]];
@@ -41,9 +25,5 @@ module.exports = function calc(gd, trace) {
4125
calcColorscale(trace, trace.line.color, 'line', 'c');
4226
}
4327

44-
return [{
45-
domain: trace.domain,
46-
dimensions: dimensions,
47-
line: trace.line
48-
}];
28+
return [{}];
4929
};

src/traces/parcoords/defaults.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ function handleLineDefaults(traceIn, traceOut, defaultColor, layout, coerce) {
2525
else {
2626
coerce('line.color', defaultColor);
2727
}
28-
};
28+
}
2929

3030
function dimensionsDefaults(traceIn, traceOut) {
3131
var dimensionsIn = traceIn.dimensions || [],

src/traces/parcoords/parcoords.js

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -111,31 +111,35 @@ function unitToColorScale(cscale) {
111111
}
112112

113113
function model(layout, d, i, a) {
114+
var trace = d.trace,
115+
line = trace.line,
116+
domain = trace.domain,
117+
dimensions = trace.dimensions;
114118

115-
var lines = Lib.extendDeep({}, d.line, {
116-
color: d.line.color.map(domainToUnitScale({values: d.line.color, range: [d.line.cmin, d.line.cmax]})),
119+
var lines = Lib.extendDeep({}, line, {
120+
color: line.color.map(domainToUnitScale({values: line.color, range: [line.cmin, line.cmax]})),
117121
blockLineCount: c.blockLineCount,
118122
canvasOverdrag: c.overdrag * c.canvasPixelRatio
119123
});
120124

121125
var groupCount = a.length;
122-
var groupWidth = layout.width * (d.domain.x[1] - d.domain.x[0]);
123-
var groupHeight = layout.height * (d.domain.y[1] - d.domain.y[0]) / groupCount;
126+
var groupWidth = layout.width * (domain.x[1] - domain.x[0]);
127+
var groupHeight = layout.height * (domain.y[1] - domain.y[0]) / groupCount;
124128

125129
var pad = layout.margin || {l: 80, r: 80, t: 100, b: 80};
126130
var rowPad = pad;
127-
var rowContentWidth = groupWidth - pad.l - pad.r - (d.line.showscale ? c.legendWidth : 0); // leavig room for the colorbar
131+
var rowContentWidth = groupWidth - pad.l - pad.r - (line.showscale ? c.legendWidth : 0); // leavig room for the colorbar
128132
var rowHeight = groupHeight - rowPad.t - rowPad.b;
129133

130134
return {
131135
key: i,
132-
colCount: d.dimensions.filter(visible).length,
133-
dimensions: d.dimensions,
136+
colCount: dimensions.filter(visible).length,
137+
dimensions: dimensions,
134138
tickDistance: c.tickDistance,
135-
unitToColor: unitToColorScale(d.line.colorscale),
139+
unitToColor: unitToColorScale(line.colorscale),
136140
lines: lines,
137-
translateX: d.domain.x[0] * layout.width,
138-
translateY: layout.height - d.domain.y[1] * layout.height,
141+
translateX: domain.x[0] * layout.width,
142+
translateY: layout.height - domain.y[1] * layout.height,
139143
pad: pad,
140144
canvasWidth: rowContentWidth * c.canvasPixelRatio + 2 * lines.canvasOverdrag,
141145
canvasHeight: rowHeight * c.canvasPixelRatio,
@@ -266,7 +270,7 @@ module.exports = function(root, svg, styledData, layout, callbacks) {
266270
}
267271

268272
var vm = styledData
269-
.filter(function(d) {return !!d.dimensions && d.dimensions.length > 0;})
273+
.filter(function(d) { return d.trace.visible; })
270274
.map(model.bind(0, layout))
271275
.map(viewModel);
272276

0 commit comments

Comments
 (0)