d3を使用して、multiplineグラフのthis exampleを再現しようとしています。 私はd3がごくわずかであることを知っています。d3を使用してデータをグループ化する
x軸に(1995、1996、...、2010)、y軸に0〜3000の数値を持つグラフが表示されます。 csv内のさまざまなデータカテゴリを表す行。
これは私のコードの一部です:
// Get the data
d3.csv("./data/df_out.csv", function(error, data) {
data.forEach(function(d) {
d.year = d.year; //parseDate(d.year);
d.value = +d.value;
});
// Scale the range of the data
x.domain([1995, 2010]);
y.domain([0, 3000]);
// Nest the entries by death
var dataNest = d3.nest()
.key(function(d) { return d.death;})
.entries(data);
// Loop through each symbol/key
dataNest.forEach(function(d) {
svg.append("path")
.attr("class", "line")
.attr("d", valueline(d.values));
});
});
私はそれを実行すると、私はエラーを取得:
エラー:属性D:予想される数、 "MNaN、NaNLNaN、NaNL ..."。 attrConstant @ d3.js:663(匿名関数)@ d3.js:962d3_selection_each @ d3.js:968d3_selectionPrototype.each @ d3.js:961d3_selectionPrototype.attr @ d3.js:652(無名関数)@ script.js:56(匿名関数)@ script.js:53(無名関数)@ d3.js:1996event @ d3.js:504respond @ d3.js:1949
問題はnest
機能ですが、なぜわかりません。
誰かが私を助けることができますか?
コード全体:http://plnkr.co/edit/kiU1KwdvsC7e1rrjAuCM?p=preview。
ありがとうございます。
おかげで作業
。なぜ私は年ごとにデータを並べ替える必要がありますか? – marielle
年がソートされていない場合、行はジグザグになります。行にコメントを付けてみて、自分自身でその効果を確認してください。 – Cyril