我有一个lineChart
,其功能有点复杂.valueAccessor
。我在同一维度和群组上也有barChart
。
网页上还有其他几个图表,但其他维度和群组。
当我使用其他图表之一进行过滤时,barChart
会正确更新,但不会更新lineChart
。有没有解释这种行为的东西?
我想在设置jsFiddle之前得到反馈,因为我的数据很重。
编辑:这是fiddle。它在ajax调用中提取7MB数据,因此需要一段时间才能运行。下面@DJMartin提供的答案对我来说应该是修复,但它不起作用。
答案 0 :(得分:1)
来自crossfilter API参考:https://github.com/square/crossfilter/wiki/API-Reference
“注意:除了关联维度的过滤器之外,分组与交叉过滤器的当前过滤器相交。因此,组方法仅考虑满足除此维度过滤器之外的每个过滤器的记录。因此,如果按类型和总数过滤付款的交叉过滤器,然后groupAll by total仅按类型观察过滤器。“
如果使用相同的属性创建第二个维度,则过滤将反映图表。
以下是一个示例: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);
前两个图表使用相同的维度 - 选择一个选项并不反映另一个选项。第三个图表在同一属性上使用不同的维度 - 在此图表上选择一个选项会更新其他两个图表。