Javascript nvd3.js-时间序列日期问题
我正在尝试使用nvd3库绘制一些时间序列数据。由于某些原因,nvd3会在每个月之间产生较大的间隔 我的日期格式如下:Javascript nvd3.js-时间序列日期问题,javascript,d3.js,nvd3.js,Javascript,D3.js,Nvd3.js,我正在尝试使用nvd3库绘制一些时间序列数据。由于某些原因,nvd3会在每个月之间产生较大的间隔 我的日期格式如下: 20110101 20110102 20110103 chart.xAxis.tickFormat(function (d) { return d3.time.format('%Y%m%d')(new Date(d.toString()));
20110101
20110102
20110103
chart.xAxis.tickFormat(function (d) {
return d3.time.format('%Y%m%d')(new Date(d.toString()));
});
我认为格式化字符串应该是“%Y%m%d”
我读过其他nvd3帖子,人们在chart.xAxis.tickFormat
中提到设置格式化功能,如下所示:
20110101
20110102
20110103
chart.xAxis.tickFormat(function (d) {
return d3.time.format('%Y%m%d')(new Date(d.toString()));
});
但是,它会为每个日期值返回“0nannan”
我尝试了另一种选择:
var format = d3.time.format("%Y%m%d");
chart.xAxis.tickFormat(function (d) {
return format.parse(d.toString());
});
这似乎创建了正确的标签值,但数据仍然显示不正确
我创建了一个JSFIDLE来说明这个问题:如果在JSFIDLE中添加一些日志记录,您将看到传递给
tickFormat
的一些值不是该格式的有效日期。部分问题可能是JSON中的日期是数字。你试过将它们编码为字符串吗?你可以看到@Larskothoff在这里所说的:其中的代码将允许你从x值中获取日期对象。