我正在尝试通过单击堆叠栏中的某个矩形栏来过滤数据。这个堆栈条是一个二维图,水平指标是年份,垂直指标是不同的产品收入,我想按特定年份的特定产品进行过滤。意味着当我单击整个图表的矩形条时,数据应按特定年份和特定产品过滤。
我的代码是:
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 的值将被正确打印,“on”点击功能有什么特别之处吗?为什么我不能得到 j 的值?任何帮助将不胜感激......这让我整晚都疯狂......