我正在尝试使用 d3 生成路径并按数据集设置颜色。路径的颜色由“Req”设置,并通过一组点绘制路径,但是在获取数据时我遇到了一些解析问题。我的数据格式如下所示。
var feature = {"section":[
{"ID": 1,"Req": 10,"Name": "Jame","point": [{"x": 1,"y": 1},{"x": 5,"y": 5},{"x": 20,"y": 30},{"x": 200,"y": 200}]},
{"ID": 2,"Req": 20,"Name": "John","point": [{"x": 1,"y": 1},{"x": 7,"y": 10},{"x": 100,"y": 10},{"x": 20,"y": 200}]}
]};
为了获得数据集中 x 和 y 的坐标,我具有线生成器的功能,如下所示
var line = d3.svg.line()
.interpolate("linear")
.x(function(d) { d.point.forEach(function(a){ return a.x;});})
.y(function(d) { d.point.forEach(function(a){ return a.y;});});
我在数据集中使用“Req”值设置路径的样式颜色。
canvas.selectAll("path")
.data(feature.section)
.enter()
.append("path")
.attr("d", line(feature.section))
.attr("fill", "none")
.style("stroke", function(d) {
var returnColor;
if (d.Req > 5){returnColor ="green";}
else if (d.Req > 10){returnColor ="purple";}
else if (d.Req > 15){returnColor ="red";}
else{returnColor = "#ccc";}
return returnColor;
});
但我没有在屏幕上显示线。调试控制台总是显示 Error: Problem parsing d="MNaN,NaNLNaN,NaNLNaN,NaNLNaN,NaNLNaN,NaNLNaN,NaN"
我错过了什么?
您还可以在http://jsfiddle.net/agadoo/RZQxV/上看到我的此代码示例