我想制作一个 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'];});
它只是返回一个空对象。
最佳答案
关于javascript - 带时间维度的条形图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46773919/