D3.js 即使使用相同的尺寸标注,线条图也不会更新
我有一个D3.js 即使使用相同的尺寸标注,线条图也不会更新,d3.js,bar-chart,linechart,dc.js,D3.js,Bar Chart,Linechart,Dc.js,我有一个折线图,它有一个稍微复杂的.valueAccessor函数。我还有一个相同维度和组的条形图 网页上还有其他几个图表,但都是关于其他维度和组的 当我使用其他图表之一进行过滤时,条形图会正确更新,但不会更新折线图。有什么可以解释这种行为吗 我希望在设置JSFIDLE之前获得反馈,因为我的数据非常多 编辑:这是你的答案。它在一个ajax调用中提取7MB的数据,因此需要一段时间才能运行。下面@DJMartin提供的答案应该是我的解决方案,但它不起作用。来自crossfilter API参考: 注
折线图
,它有一个稍微复杂的.valueAccessor
函数。我还有一个相同维度和组的条形图
网页上还有其他几个图表,但都是关于其他维度和组的
当我使用其他图表之一进行过滤时,条形图
会正确更新,但不会更新折线图
。有什么可以解释这种行为吗
我希望在设置JSFIDLE之前获得反馈,因为我的数据非常多
编辑:这是你的答案。它在一个ajax调用中提取7MB的数据,因此需要一段时间才能运行。下面@DJMartin提供的答案应该是我的解决方案,但它不起作用。来自crossfilter API参考:
注意:分组与交叉过滤器的当前过滤器相交,除了关联维度的过滤器。因此,组方法只考虑满足除维度过滤器之外的每个过滤器的记录。因此,如果支付的交叉过滤器是按类型和总数过滤的,那么GROMPALL只通过类型观察过滤器。
如果使用相同的特性创建第二个维度,则过滤将反映在图表中
下面是一个例子:
前两个图表使用相同的维度-选择一个选项并不反映另一个。第三个图表在同一属性上使用了不同的维度-在该图表上选择一个选项将更新其他两个图表。您能否发布.valueAccessor
是如何计算的?谢谢您的帮助。这正是我需要的。不幸的是,它没有在我的网页预期的工作。我已经为您重新创建了。运行Ajax调用需要一点时间,因为Ajax调用需要7MB的数据。如果您能看一看,我将非常感激。请通过简化您的用例来尝试隔离问题。如果没有自定义reduce和自定义valueAccessor,是否存在相同的问题?你能用比7MB数据更简单的数据集重现这个问题吗?根据我的经验,隔离问题通常会导致自己找到解决方案,但如果不是这样,我很乐意为您提供帮助,如果您可以多做一些初始的腿部工作。它确实与基本的访问器功能一起工作,因此我将朝这个方向看,并可能在这里提出一个单独的问题。谢谢你的帮助。
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);