2014-10-06 3 views
1

Я использую следующий код для отображения дня недели и значения месяца для моих данных. D3 отображает дату, как ожидается, например. «Сб. 18», но для воскресенья он показывает месяц вместо, например. «19 октября»!D3 дата оси x, не показываемая по воскресеньям

Не могу понять, почему это происходит. Код:

var xScale = d3.time.scale() 
     .domain([new Date($scope.dataset[0][0].time),d3.time.day.offset(new Date($scope.dataset[0][$scope.dataset[0].length-2].time),2)]) 
     .rangeRound([0, w-0]); 
var xAxis = d3.svg.axis() 
     .scale(xScale) 
     .orient('bottom') 
     .ticks(d3.time.days,1); 

Любые идеи, почему это происходит? образец набора данных выглядит следующим образом:

{время: «2014-10-19», у: 0, у0: 0}

ответ

0

По умолчанию D3 будет применить некоторые адаптивные форматирование к значениям даты клеща (см "This set of time intervals is somewhat arbitrary and additional values may be added in the future" section), но вы можете изменить это с определенным форматом даты, например:

.ticks(d3.time.days,1) 
.tickFormat(d3.time.format('%a %e')); 

вы можете найти остальные параметры форматирования here.

+0

Спасибо, что сработал, я не добавлял метод tickFormat правильно – usermomo

Смежные вопросы