我正在尝试解析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
非常感谢任何帮助!
答案 0 :(得分:1)
通过查看代码,我看到当您创建调用x
var x = d3.scaleTime()
.domain([minDate, maxDate])
.range([0, width]);
minDate
和maxDate
不再是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