Crossfilter过滤器不过滤(dc.js)

时间:2014-06-11 20:06:45

标签: javascript d3.js pie-chart dc.js crossfilter

我试图在crossfilter中使用过滤器,但是没有。

Here's the JSBin

这是最相关的代码:

var userDimension = data.dimension(function(d) {return d.user;}).filter(['John', 'Paul']);
var totalSalesByUser = userDimension.group();
var pieChartUserSales = dc.pieChart("#pie-chart-sales-by-user");
pieChartUserSales
  .width(150).height(150)
  .dimension(userDimension)
  .group(totalSalesByUser); 

dc.renderAll();

使用和不使用过滤器时,饼图看起来相同,但我正在寻找的效果是将其缩小到John或Paul为用户的项目。

2 个答案:

答案 0 :(得分:5)

Crossfilter过滤器不适用于与过滤器在同一维度上定义的组。创建第二个维度并对其进行过滤。

这是一个更新的例子。另请注意,您定义的过滤器不会执行您可能要执行的操作,因此我将其更改为仅过滤到Paul和John的函数:http://jsbin.com/yugakire/1/edit

答案 1 :(得分:2)

事实证明,crossfilter不会将滤镜应用于您放置滤镜的尺寸。它将它应用于所有 else

在你长时间思考之后这是有道理的。