0
データを最初にソートしてから、PFC ID(データをグラフ化する)を持つ複数行のグラフがあります。折れ線グラフ自体はうまくいきますが、私も凡例を動的に作成しています。凡例はまず日付で並べ替えられてからPFC IDで並べ替えられます。むしろ、PFC IDで日付を付けずに伝説自体を並べ替えるだけです。私はチャートを乱すことなくこれを行うことができる方法はありますか?クエリから日付のプライマリソートを削除すると、チャート自体が正しく機能しなくなります。D3データソート順
伝説のためのコードは以下の通りです:
legend.append("rect")
.attr("height",10)
.attr("width", 25)
.attr("class", function(d) { return d.key; })
.attr("x", width + 30)
.attr("y", function(d,i) { return height - 495 + (i*25); })
.attr("stroke", function(d) { return color(d.key);})
.attr("fill", function(d) { return color(d.key); });
の例では、ここで見つけることができます:fiddleを更新しました
// nest data
var nested_data = d3.nest()
.key(function(d) { return dimKey(d); })
.entries(data);
// sort on key
nested_data.sort(function(a,b){
return a.key.localeCompare(b.key);
});
:https://jsfiddle.net/goodspeedj/5ewLxpre/
これは近いですが、私は実際にIDをソートしたいと思います(プライマリキー)はキーではなく、値の1つです。私は現在D3のドキュメントを読んでネスティングとソートを行っています。 – JamesE
@ JamesE、どのプロパティがIDを表していますか?あなたのデータは 'shortName'(ネストのキー)、' sampleDate'または 'pfcLevel'の3つのプロパティしか持っていません。 – Mark
私の謝罪フィドルは古いデータセットを持っていました。私はそれを更新しました - プロパティはchemIDです。ありがとうございました。 – JamesE