我试图显示时间刻度轴只有几年作为刻度标签,但显示的年份是错误的。下面的示例代码显示为:" 1951 1952 1953 1953 1954"。它看起来像一个舍入错误,好像你显示它从1月到12月转换的月份:" 1月1951年1月 - 1952年1月 - 1953年12月 - 1953年12月1954年......"
var svgContainer = d3.select("body").append("svg")
.attr("width", 3000)
.attr("height", 300);
var axisScale = d3.time.scale()
.domain([new Date("1950-11-11"), new Date("1980-07-14")])
.range([0, 3000])
.nice(d3.time.year);
var xAxis = d3.svg.axis()
.scale(axisScale)
.ticks(d3.time.year, 1)
.tickFormat(d3.time.format("%Y"));
svgContainer.append("g").call(xAxis);
更新:该错误仅在Firefox中显示(请参阅http://imgur.com/oQfHE7D)。所以它可能取决于JS的实现差异。