我在使用时间刻度时遇到问题。我的日期格式为'YYYYMMDD',我解析这些:
parseDate = d3.time.format("%Y%m%d").parse
我使用相同的上述功能将域设置为静态日期。我可以在控制台中以正确的格式查看日期。但是当应用比例函数x时,它返回'NaN'WAT?
这可能是我看不到的小事,这让我发疯了......
可以在此处找到代码:http://bl.ocks.org/pberden/5668581
答案 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); });