Skip to content

Commit f150b9b

Browse files
committed
move back color computations in calc
- but store results in calcdata items, instead of mutating the corresponding fullData items.
1 parent 37efadc commit f150b9b

File tree

2 files changed

+13
-9
lines changed

2 files changed

+13
-9
lines changed

src/traces/parcoords/calc.js

+8-1
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,20 @@
1010

1111
var hasColorscale = require('../../components/colorscale/has_colorscale');
1212
var calcColorscale = require('../../components/colorscale/calc');
13+
var Lib = require('../../lib');
1314

1415

1516
module.exports = function calc(gd, trace) {
17+
var cs = !!trace.line.colorscale && Lib.isArray(trace.line.color);
18+
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;});
19+
var cscale = cs ? trace.line.colorscale : [[0, trace.line.color], [1, trace.line.color]];
1620

1721
if(hasColorscale(trace, 'line')) {
1822
calcColorscale(trace, trace.line.color, 'line', 'c');
1923
}
2024

21-
return [{}];
25+
return [{
26+
lineColor: color,
27+
cscale: cscale
28+
}];
2229
};

src/traces/parcoords/parcoords.js

+5-8
Original file line numberDiff line numberDiff line change
@@ -115,18 +115,15 @@ function unwrap(d) {
115115
}
116116

117117
function model(layout, d, i) {
118-
var trace = unwrap(d).trace,
118+
var cd0 = unwrap(d),
119+
trace = cd0.trace,
120+
lineColor = cd0.lineColor,
121+
cscale = cd0.cscale,
119122
line = trace.line,
120123
domain = trace.domain,
121124
dimensions = trace.dimensions,
122125
width = layout.width;
123126

124-
var cs = !!trace.line.colorscale && Lib.isArray(trace.line.color);
125-
var lineColor = cs ?
126-
trace.line.color :
127-
Array.apply(0, Array(trace.dimensions.reduce(function(p, n) {return Math.max(p, n.values.length);}, 0))).map(function() {return 0.5;});
128-
var lineColorScale = cs ? trace.line.colorscale : [[0, trace.line.color], [1, trace.line.color]];
129-
130127
var lines = Lib.extendDeep({}, line, {
131128
color: lineColor.map(domainToUnitScale({values: lineColor, range: [line.cmin, line.cmax]})),
132129
blockLineCount: c.blockLineCount,
@@ -145,7 +142,7 @@ function model(layout, d, i) {
145142
colCount: dimensions.filter(visible).length,
146143
dimensions: dimensions,
147144
tickDistance: c.tickDistance,
148-
unitToColor: unitToColorScale(lineColorScale),
145+
unitToColor: unitToColorScale(cscale),
149146
lines: lines,
150147
translateX: domain.x[0] * width,
151148
translateY: layout.height - domain.y[1] * layout.height,

0 commit comments

Comments
 (0)