解析X轴的日期时出错

时间:2018-01-07 19:57:17

标签: javascript d3.js

我正在尝试解析D3.js中json数据的数据,这是问题函数。

minDate = new Date(data[0][0]);
    maxDate = new Date(data[274][0]); 

var x = d3.scaleTime()
          .domain([minDate, maxDate])
      .range([0, width]);

这是错误

Error: <rect> attribute x: Expected length, "NaN"

CodePen链接https://codepen.io/rocket18/pen/qpVeBj

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

通过查看代码,我看到当您创建调用x

的x缩放功能时
var x =  d3.scaleTime()
    .domain([minDate, maxDate])
    .range([0, width]);

minDatemaxDate不再是Date对象,因为您这样做了

minDate = parse(minDate);
maxDate = parse(maxDate);

尝试在之前定义x函数。

答案 1 :(得分:1)

只有一些小问题,您使用的是d3.timeFormat而不是d3.timeParse,我在d.year = parseDate(d[0]);中添加了data.forEach,并且您将svg元素附加到svg元素,我把它改成了div。

我还在d3.extent

中使用了.domain

以下是完整的工作代码:Plunker