我知道这已被问过,但我一直在试图调试一段时间了。D3多线阴谋解析错误
我想绘制多行,但现在,我只是测试一行数据。
http://jsfiddle.net/csebranek/3yH75/3/
任何帮助,将不胜感激。
Error: Problem parsing d="MNaN,450LNaN,444.1011235955056CNaN, ...
我知道这已被问过,但我一直在试图调试一段时间了。D3多线阴谋解析错误
我想绘制多行,但现在,我只是测试一行数据。
http://jsfiddle.net/csebranek/3yH75/3/
任何帮助,将不胜感激。
Error: Problem parsing d="MNaN,450LNaN,444.1011235955056CNaN, ...
问题是,您将原始data
传递给为x尺度设置域的函数,但解析日期位于lakes
。由于这是一个嵌套的结构,你不能使用相同的代码用于提取极值,但沿着相同的路线作为一个代码用于设置Y标尺的域:
x.domain([
d3.min(lakes, function(c) { return d3.min(c.values, function(v) { return v.date; }); }),
d3.max(lakes, function(c) { return d3.max(c.values, function(v) { return v.date; }); })
]);
完整演示here 。
这是输出当你x
规模,施加到你的数据,返回NaN
(即任何非数字值)。
在这种情况下,它看起来像您的线条生成器正在寻找x(d.date);
,但您解析的日期为d.LocalDateTime
。所以它叫x(undefined)
。
这就是我最初想到的,但'LocalDateTime'实际上是存储在'date'结构中,最终传递给'.data()'。问题是x scale的域没有正确设置。 –
非常感谢! – cherner