Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
D3.js 即使使用相同的尺寸标注,线条图也不会更新_D3.js_Bar Chart_Linechart_Dc.js - Fatal编程技术网

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);