積み上げバーの特定の四角形バーをクリックして、データをフィルタリングしようとしています。この積み上げ棒グラフは 2 次元のグラフで、横方向のインデックスは年数、縦方向のインデックスはさまざまな製品の収益です。特定の年の特定の製品でフィルター処理したいと考えています。グラフ全体の四角形のバーをクリックすると、データが特定の年と特定の製品でフィルター処理されることを意味します。
私のコードは:
metrics.on("click", function(d,i,j){
d3.select(this)
.style("fill","lightcoral")
.style("stroke","red");
fdata =rawdata.filter(function(d){return (d[xvalue]==_seriesA[i])&&(d[yvalue]==_seriesB[j])});
});
しかし、奇妙なことに、j の値は常に未定義ですが、タイトルを付けると:
metrics.append("title").text(
function(d,i,j) {
return i + ' - '+j ;
});
j の値は正しく出力されますが、「オン」クリック機能について何か特別なことはありますか? j の値を取得できないのはなぜですか? どんな助けでも大歓迎です....これは一晩中私を夢中にさせています...