我正在嘗試使用d3生成路徑並通過數據集設置顏色。路徑的顏色由「Req」設置,並通過一組點來繪製路徑,但是在獲取數據時我會遇到一些解析問題。我的數據格式如下所示。用d3繪製路徑?
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;});});
如下我設置與數據集「請求」的價值路徑的風格色彩。
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;
});
但我沒有顯示在屏幕上的行。調試控制檯總是顯示錯誤:問題分析d =「MNaN,NaNLNaN,NaNLNaN,NaNLNaN,NaNLNaN,NaNLNaN,NaN」
我錯過了什麼嗎?
你也看到http://jsfiddle.net/agadoo/RZQxV/
非常感謝你,我會嘗試嵌套功能。 – Sean 2013-03-10 09:57:53