通过复选框更改crossfilter组

时间:2015-05-15 19:34:01

标签: dc.js crossfilter

我正在尝试建立一个可视化图形来描绘今年我一直在阅读的内容。

目前,我通过小说数量分组。我想知道是否可以实时更改群组,或者如果我设置了群组,我是否会遇到群组。

我现在用来计算组的代码看起来像这样:

function groupByType(dimension){

  if($('#ValueType').is(':checked')) {
    console.log("Pages")
    return dimension.group()
            .reduceSum(function(d) {
              return d.Pages;
            });
  } else {
    console.log("Volumes");
    return dimension.group();
  }
}

每当单击复选框(#ValueType)时,我在整个图上调用dc.redraw,我希望这会改变计算组的方式,但它没有这样做。有没有办法动态更改组或者我只是刷新页面并在加载时传递参数会更好?

1 个答案:

答案 0 :(得分:1)

这有点难以辨别,但看起来每次选中或取消选中复选框时,都会创建一个新组。您想要这样做,因为这些群体会一直存在并继续更新。事情会变得越来越慢。

只需预先创建2个组(甚至可能创建2个dc.js图表​​),然后让复选框控制将哪个组分配给图表或显示哪个图表。