时间刻度不会将日期转换为数字

时间:2013-05-29 07:47:24

标签: d3.js

我在使用时间刻度时遇到问题。我的日期格式为'YYYYMMDD',我解析这些:

parseDate = d3.time.format("%Y%m%d").parse

我使用相同的上述功能将域设置为静态日期。我可以在控制台中以正确的格式查看日期。但是当应用比例函数x时,它返回'NaN'WAT?

这可能是我看不到的小事,这让我发疯了......

可以在此处找到代码:http://bl.ocks.org/pberden/5668581

1 个答案:

答案 0 :(得分:0)

我认为问题在于你调用d3.nest的方式。根据{{​​3}}

  

将为输入数组中的每个元素调用键函数,并且必须返回字符串标识符,该标识符用于将元素分配给其组。

您将csv文件中的Day转换为Date但是,当您使用d3.nest()从数组构建地图时,key的调用函数通过执行隐式转换将此Date转换为String

要解决此问题,我想您可以尝试强制line生成器将String转换为Date,如此

var line = d3.svg.line()    
 .x(function(d) { return x(new Date(d.key)); })
 .y(function(d) { return y(d.values.Value); });