D3错误:<rect>属性x:预期长度,“NaN”

时间:2016-08-10 00:23:51

标签: javascript d3.js scale

我在尝试绘制矩形时出现此错误:

var row = svg.selectAll('.row')
               .data(data)
               .enter()
               .append('svg:g')
               .attr('class', 'row')

var col = row.selectAll('.cell')
               .data(function(d) { return d; })
               .enter().append('rect')
               .attr('class', 'cell')

               .attr('x', function(d){
                  return xscale(d[1]);
                })
               .attr('y', function(d){
                 return yscale(d[0]);
                })
               .attr('width', cellw)
               .attr('height', cellh)
               .attr('fill', function(d){
                return zscale(d[2]);
               })

我认为错误就在.attr('x', function(d) 行 data是一个数组数组,如[[Id1,Date1,Speed1],[...],...],这是我从解析CSV文件中得到的。

Data: [Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3], Array[3]]

0: 1
1: Sun Jan 18 1970 01:32:42 GMT+0100 (Paris, Madrid)
2: 10

这是xscale:

var xscale = d3.time.scale()
                     .domain([start, end])
                     .range([padding, w - padding]);

开头和结尾也是日期:

start: Sun Jan 18 1970 01:32:42 GMT+0100 (Paris, Madrid) start: object end: Sun Jan 18 1970 01:32:44 GMT+0100 (Paris, Madrid) end: object

0 个答案:

没有答案