我有一些看起来像这样的代码:
var row = 4;
var col = 4;
var stack = d3.layout.stack();
var layers = stack( d3.range(row).map(function() {
return CmcLayer(col);
}));
function CmcLayer(col) {
var a = [1, 2, 3, 4];
return a.map(function(d, i) { return {x: i, y: d}; });
}
最理想的是,我想传递看起来像这样的数据,或类似于:
var a = [[1, 2, 3, 4],
[4, 3, 2, 1],
[1, 2, 3, 4],
[4, 3, 2, 1]];
我需要更改什么才能接受多行?
答案 0 :(得分:0)
想出来。以下是后人的答案。
var stack = d3.layout.stack();
var layers = stack( CmcLayerData() );
function CmcLayerData() {
var data = [[1, 2, 3, 4], // bottom
[1, 2, 3, 4],
[1, 2, 3, 4],
[4, 2, 3, 4]]; // top
data = data.map(function(d) {
return d.map(function(i, j) {
return {x:j, y:i, y0:0};
});
});
return data;
}