错误:<rect>属性width =“NaN”</rect>的值无效

时间:2013-08-16 02:41:12

标签: d3.js

我对d3完全不熟悉。我已经完成了Scott Murray的“互动数据可视化网络”中的一些图表和示例,并且几乎没有问题。这是我第一次尝试使用未包含在我的代码中的大型数据集。

d3.csv(“historical_weather.csv”,函数(错误,数据){

    dataset = data.map(function(d){ 
        return [ parseInt(+d.cloudCover),parseInt(+ d.maxTemp) ];
    })

    console.log(dataset); 

    var svg = d3.select("body")
        .append("svg")
        .attr("height",500)
        .attr("width",500);

    d3.select("svg")
        .selectAll("rect")
        .data("dataset")
        .enter()
        .append("rect")
        .attr("height",50)
        .attr("width", function(d){return d.maxTemp*10;});

});

数据加载并在控制台中作为数组显示,我可以在挖掘数组时看到预期的值。然而,控制台显示:

  

错误:属性width =“NaN”

的值无效

2 个答案:

答案 0 :(得分:6)

好像你有拼写错误。显示.data("dataset")的行应改为.data(dataset),不带引号。即,您应该提交dataset变量,而不是包含其'name。

的字符串

答案 1 :(得分:0)

.attr("width", function(d){return d.maxTemp*10;});

我相信function(d){return d.maxTemp*10;}正在注册为数组而不是具有简单返回值的函数。它不是数字(NaN)

你有没有在脚本中定义function(d)两次,每个都有完全不同的含义?