Javascript 使用时间序列条形图时x轴上的标签错误

Javascript 使用时间序列条形图时x轴上的标签错误,javascript,d3.js,crossfilter,dc.js,Javascript,D3.js,Crossfilter,Dc.js,我试图呈现一个时间序列条形图宽度dc,交叉滤波器和d3。JSON数据从1989年到2010年,如下所示: [{ year: 1999, events: 40 },{ year: 1996, events: 25 }, ... ] 为了渲染它,我有以下代码: var volumeChart = dc.barChart("#yearly-chart"); var ndx = crossfilter(data); var yearDim = ndx.dimension

我试图呈现一个时间序列条形图宽度dc,交叉滤波器和d3。JSON数据从1989年到2010年,如下所示:

[{
    year: 1999,
    events: 40
},{
    year: 1996,
    events: 25
},
...
]
为了渲染它,我有以下代码:

var volumeChart = dc.barChart("#yearly-chart");
var ndx = crossfilter(data);
var yearDim = ndx.dimension(function(d) {
  return d.year;
});

var countPerYear = yearDim.group().reduceSum(function(d) {return d.events;});

volumeChart
    .width(700)
    .height(200)
    .margins({top: 50, right: 50, bottom: 20, left: 40})
    .dimension(yearDim)
    .group(countPerYear2)
    .elasticY(true)
    .x(d3.time.scale().domain([1989, 2011]))

volumeChart.render()
这种方法很有效,但X轴上的年份标签却奇怪地乱了套:

如果我使用
Date
对象来确定
x
轴,如:

x(d3.time.scale().domain([new Date(1989, 1, 1), new Date(2010, 12, 31)]))

我在图表中没有得到任何数据,尽管这看起来应该是正确的方法。我做错了什么?

日期对象确实是一种方法,但您也需要将JSON中的日期解析为此类对象。因此,无论您在哪里加载数据,都要解析日期。

Date对象确实是一种方法,但您也需要将JSON中的日期解析为此类对象。因此,无论你在哪里加载数据,都要解析日期。就是这样,这很有意义。把这个写下来作为答案,这样我就可以把它标记为正确的吗?当然可以,谢谢。