измерение перекрестного фильтра не отображает счет - PullRequest
0 голосов
/ 25 февраля 2019

У меня есть набор данных, которые я хотел бы отобразить на линейном графике для частоты

Анализ данных

var volumeChart = dc.barChart ('# month-volume-chart');

var dateFormatSpecifier = '%Y-%m-%dT%H:%M:%S.000Z';
    var dateFormat = d3.timeFormat(dateFormatSpecifier);
    var dateFormatParser = d3.timeParse(dateFormatSpecifier);
    var numberFormat = d3.format('.2f');

    data.forEach(function (d) {
        d.dd = dateFormatParser(d.timestamp);
        d.minute = d3.timeMinute(d.dd)
        //coerce to number with a +
    });

Группировка измерений

var freqByMins = ndx.dimension(function (d) {
    return d.minute;
});
var aa = freqByMins.group()
console.log(aa.all())
var freqByMinsGroup = aa.reduceCount(function (d) {
    return d.minute;
});
console.log(freqByMinsGroup.all())

Глядя на freqByMinsGroup.all() я получаю следующие данные

0: {key: Thu Feb 21 2019 05:29:00 GMT+0800 (Singapore Standard Time), value: 2}
1: {key: Thu Feb 21 2019 05:30:00 GMT+0800 (Singapore Standard Time), value: 5}
2: {key: Thu Feb 21 2019 05:31:00 GMT+0800 (Singapore Standard Time), value: 6}
3: {key: Thu Feb 21 2019 05:32:00 GMT+0800 (Singapore Standard Time), value: 3}
4: {key: Thu Feb 21 2019 05:33:00 GMT+0800 (Singapore Standard Time), value: 1}
5: {key: Thu Feb 21 2019 05:34:00 GMT+0800 (Singapore Standard Time), value: 1}
6: {key: Thu Feb 21 2019 05:35:00 GMT+0800 (Singapore Standard Time), value: 3}
7: {key: Thu Feb 21 2019 05:36:00 GMT+0800 (Singapore Standard Time), value: 4}
8: {key: Thu Feb 21 2019 05:38:00 GMT+0800 (Singapore Standard Time), value: 4}
9: {key: Thu Feb 21 2019 05:39:00 GMT+0800 (Singapore Standard Time), value: 7}
length: 10

Графики рендеринга

 volumeChart.width(960)
    .height(100)
    .margins({top: 10, right: 10, bottom: 20, left: 40})
    .dimension(freqByMins)
    .group(freqByMinsGroup)
    .transitionDuration(500)
    .elasticY(true)

    .x(d3.scaleTime().domain([new Date(2019, 2, 21, 5, 29, 0), new Date(2019, 2, 21, 5, 40, 0)]))
    .xAxis();

Однако моя таблица кроссфильтров не отображает счет.

Прикрепленное изображение

enter image description here

1 Ответ

0 голосов
/ 26 февраля 2019

Трудно сказать без работающего примера, потому что это выглядит в основном нормально

Но, пожалуйста, попробуйте:

.xUnits(d3.timeMinutes) // to tell the chart how many entries
.x(d3.scaleTime()) // let the chart calculate the domain
.elasticX(true)

Например, если вы не были в часовом поясе Сингапура, вы могли быстолкнуться с неприятностями.Всегда проще использоватьasticX /asticY, если вам не нужен дополнительный контроль.

Я создал фиктивную скрипку с фальшивой группой с вашими агрегированными данными, и это сработало.

it's a line graph

...