Grails 直流交叉滤波器隐藏特定选择

Grails 直流交叉滤波器隐藏特定选择,grails,hide,dc.js,crossfilter,Grails,Hide,Dc.js,Crossfilter,在grails应用程序中,我正在使用dc crossfilter绘制相互关联的5个条形图 现在,我想在这里做一件简单的事情:在我的第一个条形图中,有14个条形图(x个部门数和1个“全部”图) 所以这里的问题是,图表中出现的“所有”确实会弄乱其他部门的数字,因为它们太低了(全部是所有x个部门的总和),所以每个部门的数字都太低了,以至于看不清楚 但是,加载“所有”的数据非常重要,因为剩下的4个条形图都只针对“所有”进行过滤 那么,即使加载了数据,有没有办法在第一个条形图中隐藏“All”?这是否可行

在grails应用程序中,我正在使用dc crossfilter绘制相互关联的5个条形图

现在,我想在这里做一件简单的事情:在我的第一个条形图中,有14个条形图(x个部门数和1个“全部”图)

所以这里的问题是,图表中出现的“所有”确实会弄乱其他部门的数字,因为它们太低了(全部是所有x个部门的总和),所以每个部门的数字都太低了,以至于看不清楚

但是,加载“所有”的数据非常重要,因为剩下的4个条形图都只针对“所有”进行过滤

那么,即使加载了数据,有没有办法在第一个条形图中隐藏“All”?这是否可行

要做到这一点,必须有一些简单的解决办法

欢迎所有方法/建议

更新:

代码:

这是我定义组和尺寸的部分

 var devValue = facts.dimension(function (d) {return d.c;});
      var devValueGroupSum = devValue.group().reduceSum(function(d) { return +d.g;});

      var mvValue = facts.dimension(function(d,i) {return d.b;});
      var mvValueGroupSum = mvValue.group().reduceSum(function(d) {return +d.g;});
现在,我在哪里以及如何准确地定义一个伪组并对数据进行预过滤。但是,即使在预过滤数据之后,“所有”都将包含在实际数据集中(而不是可视化部分)

文档中的假组代码:

var group = {
   all:function () {
    var cumulate = 0;
    var g = [];
    _group.all().forEach(function(d,i) {
      cumulate += d.value;
      g.push({key:d.key,value:cumulate})
    });
    return g;
   }
 };
我真的无法理解文档中关于如何实现这一点的内容,您能帮助我实现这一点吗?

您可以使用“假组”来预过滤数据。每当图表获取数据时,它都会通过伪组,然后伪组从真实组获取数据并对其进行更改


我已经反复阅读了关于假组的文档,但我无法理解,请您详细说明假组的实施部分等。请参阅更新的答案我试图在此处解释“假组”:。请注意我在返回结果之前是如何过滤“all”键的。您可以创建假组来包装原始组,并传入假组而不是原始组。您的用例几乎与第二个示例一样。(
group.all
与您的all-bin有完全不同的含义,它只是表示“获取结果”。)让我看看我是否能以某种方式澄清常见问题。@Gordon,它起作用了。谢谢各位。使用FAQ中的代码并删除cumulate,使其成为一个简单的函数,如DJ Martin的示例所示。