我尝试通过NVD3使用堆积面积图和一些真实数据,看起来很奇怪:
我想数据或数据访问器功能有问题,但我无法弄清楚到底是什么。
var chart = nv.models.stackedAreaChart()
.x(function(d) { if (typeof d !== "undefined" && d !== null) return d[0] })
.y(function(d) { if (typeof d !== "undefined" && d !== null) return d[1] })
.clipEdge(true)
.useInteractiveGuideline(true)
;
我还注意到,如果"值"它根本不起作用。数组在不同数据对象上的长度不同。是NVD3的限制还是什么?
答案 0 :(得分:3)
感谢krispo,问题得到了解决。 为了正确显示数据,NVD3要求数据遵循下一条规则:
为了满足第一个要求,数据应转换如下:
data = data.map(function(series){
series.values = series.values.map(function(d,i){
return [data[2].values[i][0], d[1]]
})
return series;
});
如果数据具有不同的系列长度(第二个要求),则应使用零填充缺失值系列。
工作示例是here。
结果图如下: