如何通过在散点图维度中使用三个键来保证多图表过滤器的行为?
你可以在[https://jsfiddle.net/rogeraleite/dmf3fstw/2/]中看到..具体在我声明散点图的尺寸的行中:
dim1 = ndx.dimension(function (d) {
return [+d.x, +d.y, d.fruit];
//return [+d.x, +d.y];
})
如果我评论“return [+ d.x,+ d.y,d.fruit];”并使用“return [+ d.x,+ d.y];”,则交互(刷牙)完美无缺。但是,一旦我尝试添加第三个键(d.fruit)以便为图表中的点着色,刷子就会停止工作。
知道如何处理它?</ p>
答案 0 :(得分:0)
我只是意识到为了保持交互工作,我必须在维度创建中仅使用两个键。但是,要创建组,我可以使用具有两个以上键的另一个维度,这将保证正确的行为。
见https://jsfiddle.net/rogeraleite/L8mjrnr1/:
dim1 = ndx.dimension(function (d) {
return [+d.x, +d.y];
}),
dim1_2 = ndx.dimension(function (d) {
return [+d.x, +d.y, d.fruit];
}),
dim2 = ndx.dimension(function (d) {
return [+d.y, +d.z];
}),
dim2_2 = ndx.dimension(function (d) {
return [+d.y, +d.z, d.fruit];
}),
group1 = dim1_2.group(),
group2 = dim2_2.group();
...所以当colorAccessor尝试访问第三个键(d.key [2])时,它可以工作! = d
.colorAccessor(function(d) { return d.key[2]; })