Я хотел бы сделать гистограмму, где ось 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: групповые данные по месяцам, но он не работает, после использования .all () я все равно получаю то же самое.
И я попробовал это:
var numByDate = dateDim.group(function(d) {return d['timestamp'];});
он просто возвращает мне пустой объект.