我想制作一个条形图,其中x轴是日期,例如2017-08-12,y值是同一日期的数据行数(即记录数)。
// get data into right format
var dateFormat = d3.time.format("%Y-%m-%d");
pageViews.forEach(function(d) {
d['timestamp'] = dateFormat.parse(d['timestamp'].slice(0,10));
d['timestamp'].setDate(1);
});
// Create Crossfilter instance
var cf = crossfilter(data);
var dateDim = cf.dimension(function(d) {return d['timestamp'];});
var numByDate = dateDim.group();
但如果我这样做
console.log(numByDate.top(Infinity));
这会返回5个元素,这些元素是每个月的第一天,所以我所拥有的组是年月而不是年 - 月 - 日,我该如何解决?
我调查了这个crossfilter.js: group data by month,但是在使用.all()之后它没有用。我仍然得到同样的东西。
我试过这个:
var numByDate = dateDim.group(function(d) {return d['timestamp'];});
它只是给我一个空对象。
答案 0 :(得分:1)