каждый день в масштабе с dc.js

Я хочу отображать свои данные в шкале времени, которая показывает каждый день, а не только каждую секунду, как по умолчанию. Я темперировал с помощью d3.time.scale, но на графике разницы не было.

var scale = d3.time.scale();
scale.domain([new Date('2015-03-01'), new Date('2015-03-26')]);
...
var chart = dc.lineChart('#chart');
...
chart.x(scale);
chart.xUnits(d3.time.day);

Результат: Вт 03, Вт 05, Сб 07, Пн 09, ...
Требуемый результат: Вт 03, Вт 04, Вт 05, Пт 06, ...

даже лучше: 3 марта, 4 марта, 5 марта, ...
Можно ли это сделать с помощью scale.tickFormat() или мне нужно использовать chart.xAxis().tickFormat()?


person unki2aut    schedule 20.07.2015    source источник


Ответы (1)


Если вы используете moment.js, то вы можете отформатировать даты как 03 марта, используя chart.xAxis().tickFormat(function(v) { return moment()... }). На данный момент существует много документации, так что не займет много времени, чтобы разобраться. Что касается проблемы с отображением, вы можете использовать chart.xAxis().tick([enter number of ticks here]), однако это дает dc.js только рекомендуемое количество тактов и может не обязательно выводить количество введенных вами тактов.

person Ben Leitner    schedule 21.07.2015