我有一个lineChart
,.valueAccessor
函数有点复杂。我也有关于同一维度和组的barChart
。
网页上还有其他几个图表,但其他维度和组。
当我使用其他图表之一进行过滤时,barChart
更新正确,但lineChart
更新不正确。有什么可以解释这种行为的吗?
我想在设置 jsFiddle 之前获得反馈,因为我的数据非常繁重。
编辑:这是小提琴。它在 ajax 调用中拉取 7MB 的数据,因此需要一段时间才能运行。下面@DJMartin提供的答案应该是我的解决方法,但它不起作用。
来自交叉筛选器 API 参考:https://github.com/square/crossfilter/wiki/API-Reference
"注意:分组与交叉过滤器的当前过滤器相交,但关联维度的过滤器除外。因此,组方法仅考虑满足除此维度筛选器之外的每个筛选器的记录。因此,如果付款的交叉过滤器按类型和总计过滤,则 groupAll 按总计仅按类型观察过滤器。
如果使用相同的属性创建第二个维度,则筛选将反映在图表之间。
下面是一个示例:http://jsfiddle.net/djmartin_umich/nw8EV/。
teamMemberChart
.width(270)
.height(220)
.dimension(teamMemberDimension)
.group(teamMemberGroup)
.valueAccessor(function (d) {
return d.value.projectCount;
})
.elasticX(true);
teamMemberChart2
.width(270)
.height(220)
.dimension(teamMemberDimension)
.group(teamMemberGroup)
.valueAccessor(function (d) {
return d.value.projectCount;
})
.elasticX(true);
teamMemberChart3
.width(270)
.height(220)
.dimension(teamMemberDimension2)
.group(teamMemberGroup2)
.valueAccessor(function (d) {
return d.value.projectCount;
})
.elasticX(true);
前两个图表使用相同的维度 - 选择一个选项不会反映另一个选项。 第三个图表对同一属性使用不同的维度 - 在此图表上选择一个选项将更新其他两个图表。