我正在使用下面的代码显示星期几和我的数据的月份值。 D3按预期显示日期,例如“星期六十八”,但对于星期日,它显示月份,例如“10月19日”!
无法弄清楚为什么会这样。代码是:
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);
为什么会发生这种情况?示例数据集如下所示:
{time:“2014-10-19”,y:0,y0: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。