如何填补crossfilter group.all()结果中的空白?

时间:2012-09-04 18:26:08

标签: crossfilter

我有一个如此定义的数据集:

var hour = data.crossfilter.dimension(function(d){ return d.date.getHours() + d.date.getMinutes() / 60; });
var hours = hour.group(Math.floor);

生成的结果(hours.all())如下所示:

[0, 124]
[1, 25]
[2, 5]
[3, 2]
[5, 339]
[6, 11648]
[7, 16334]
[8, 15919]
[9, 14078]
[10, 13816]
[11, 14646]
[12, 15079]
[13, 13718]
[14, 13947]
[15, 14055]
[16, 13995]
[17, 16166]
[18, 14958]
[19, 13991]
[20, 12769]
[21, 10638]
[22, 3939]
[23, 892] 

请注意3之间存在数据差距,54缺失)。如何配置交叉过滤器来填补0的空白?

1 个答案:

答案 0 :(得分:0)

我认为你必须自己填写它们,因为我没有看到Crossfilter如何将你不给它的价值分组。这种责任应归于您用于呈现数据的任何对象。

你正在使用d3吗?我认为线性刻度会自动完成。如果没有,手动操作将非常简单。