我有一个如此定义的数据集:
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
之间存在数据差距,5
(4
缺失)。如何配置交叉过滤器来填补0
的空白?
答案 0 :(得分:0)
我认为你必须自己填写它们,因为我没有看到Crossfilter如何将你不给它的价值分组。这种责任应归于您用于呈现数据的任何对象。
你正在使用d3吗?我认为线性刻度会自动完成。如果没有,手动操作将非常简单。