2014-04-08 80 views

回答

1

问题是,您将原始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

+0

非常感谢! – cherner

0

这是输出当你x规模,施加到你的数据,返回NaN(即任何非数字值)。

在这种情况下,它看起来像您的线条生成器正在寻找x(d.date);,但您解析的日期为d.LocalDateTime。所以它叫x(undefined)

+0

这就是我最初想到的,但'LocalDateTime'实际上是存储在'date'结构中,最终传递给'.data()'。问题是x scale的域没有正确设置。 –