扫码一下
查看教程更方便
Crossfilter 是一个多维数据集。 它支持与包含一百万或更多记录的数据集进行极快的交互。
Crossfilter 在 crossfilter 命名空间下定义。 它使用语义版本控制。 考虑一个装有水果集合的 Crossfilter 对象,该对象定义如下
var fruits = crossfilter ([
{ name: “Apple”, type: “fruit”, count: 20 },
{ name: “Orange”, type: "fruit”, count: 10 },
{ name: “Grapes”, type: “fruit”, count: 50 },
{ name: “Mango”, type: “fruit”, count: 40 }
]);
如果我们需要执行组中的总记录,我们可以使用以下函数
var count = fruits.groupAll().reduceCount().value();
如果我们想按特定类型过滤
var filtering = fruits.dimension(function(d) { return d.type; });
filtering.filter(“Grapes”)
同样,我们可以使用 Crossfilter 进行分组。 为此,我们可以使用以下函数
var grouping = filtering.group().reduceCount();
var first = grouping.top(2);
因此,Crossfilter 的构建速度非常快。 如果我们想在应用过滤器时重新计算组,它会增量计算。 交叉过滤器尺寸非常昂贵。
让我们详细了解一下著名的 Crossfilter API。