Javascript 使用时间序列条形图时x轴上的标签错误
我试图呈现一个时间序列条形图宽度dc,交叉滤波器和d3。JSON数据从1989年到2010年,如下所示: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
[{
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中的日期解析为此类对象。因此,无论你在哪里加载数据,都要解析日期。就是这样,这很有意义。把这个写下来作为答案,这样我就可以把它标记为正确的吗?当然可以,谢谢。