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;
});
しかし、画面に線が表示されていません。デバッグコンソールに常にエラーが表示されました:d = "MNaN、NaNLNaN、NaNLNaN、NaNLNaN、NaNLNaN、NaNLNaN、NaN"の解析に問題があります
私は何か見落としてますか?
このコードの私の例はhttp://jsfiddle.net/agadoo/RZQxV/にもあります。