Dc.js双重分组

时间:2015-03-11 04:10:57

标签: javascript dc.js crossfilter

我是dc.js的新手。这是我想要实现的目标。我想制作一个条形图,通过计算唯一电子邮件的外观,x轴是外观组的数量,y轴将是属于发生组的唯一电子邮件的数量。(交叉过滤器将涉及所以它会做根据我选择的日期进行自动分组/计数

我的数据集

email         date
a@gmail.com   1/3/2015
a@gmail.com   1/5/2015 
b@hotmail.com 1/4/2015
b@hotmail.com 1/5/2015  
c@msn.com     1/3/2015
d@gmail.com   1/3/2015

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

我认为你确实在思考它。 ; - )

如果我不在这里,请发表评论,但我认为你只是在谈论通过电子邮件进行分组并减少数量。

所以你应该能够做到

var ndx = crossfilter(data);
var dim = ndx.dimension(function(d) { return d.email; });
var group = dim.group();

并将尺寸和组传递到条形图。 (按行数减少是默认行为。)

然后您将拥有另一个图表,该图表的维度为d.date

这正是crossfilter的用例。

可能混淆是"维度"的交叉滤波器定义。实际上,您并不需要为图表的每个维度创建维度,只需要您刷过的维度。

您要为要分组和过滤的每个列使用跨填充维度,或者要为要观察过滤器的每个列使用跨填充维度。在大多数情况下,减少会产生Y轴值,并且不需要横向滤波器尺寸。