【问题标题】:process cvs data for d3处理 d3 的 cvs 数据
【发布时间】:2018-02-04 10:55:17
【问题描述】:

所以当我在做 D3 教程时,用 csv 文件格式创建一个包含世界人口的气泡图,无法读取圆的半径。

    var circles = svg.selectAll(".country")
      .data(datapoints)
      .enter().append("circle")
      .attr("class","country")
      .attr("r", function(d) {
        return radiusScale(d.ranking)
    })

浏览器返回 错误:属性 r:预期长度,“NaN”。

我的 csv 文件如下所示 world-population.csv

非常感谢大家!

【问题讨论】:

  • 很难说没有看到一个完整的例子。只是一个猜测 - 试试d.Ranking
  • data.worldbank.org/data-catalog/Population-ranking-table 我试过 d.Ranking 还是一样的错误:/
  • 在浏览器的控制台中尝试运行console.log(datapoints[0]) 以查看数据中的第一个对象。如果是包含排名键的对象,请尝试运行radiusScale(datapoints[0].ranking)。你得到了什么结果?
  • 它说数据点未定义......但我已经准备好功能(错误,数据点){包装在var circles之外
  • 尝试将这些 console.log 行添加到您调用 var circles = svg... 的代码上方,然后查看控制台返回的内容。

标签: javascript csv d3.js


【解决方案1】:

这是 CSV 中最上面几行的样子:

,Population 2016,,,,,,,,,,
,,,,,,,,,,,
,,,,,,,,,,,
,Ranking,,Economy,(thousands),,,,,,,
,,,,,,,,,,,
CHN,1,,China,"1,378,665",,,,,,,

尝试将其更改为:

CountryCode,Ranking,,CountryName,Count
CHN,1,,China,"1,378,665",,,,,,,

【讨论】:

    猜你喜欢
    • 2013-03-18
    • 1970-01-01
    • 2013-11-23
    • 2012-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多