D3.js CSV数据和访问器功能出现问题

时间:2016-03-04 04:52:58

标签: javascript csv d3.js

所以我有一个非常简单的5列9行的CSV文件,我正在浏览器中使用一些新手D3代码,使用Python附带的SimpleHTTPServer模块提供我的文件,并在Chrome 48.0中工作。

以下内容有效:

d3.csv("cities.csv", function(data) {
    console.log(data)
});

这会导致控制台返回一个对象数组,其中每个对象代表我的CSV文件中的一行。这很好。返回的data如下所示:

data = [
    {country: "USA", label: "San Francisco", population: "750000"},
    {country: "USA", label: "Fresno", population: "500000"},
    ...
];

以下不起作用:

d3.csv("cities.csv", function(data) {
    d3.min(data, function(el) {
        return +el.population
    });
});

在这里,我希望d3.min()遍历data数组中的每个对象,每个对象都由el参数表示,查看其#34;人口&#34 ; property,并返回数组中所有对象的最小值 - 一个整数。

相反,Chrome控制台会返回一些我不明白的奇怪废话:

对象{} 中止:() 得到:() 标题:(n,t) mimeType:(n) 上: () 发布:() 回应:(n) responseType:(n) 行:(n) 发送:(e,r,u) proto :对象

基本上看起来data参数未成功传递给d3.min()方法。这很奇怪,因为很明显,在较简单的第一个示例中,我的CSV文件确实正确加载,data参数正确地传递到行console.log(data)

我真的难倒D3作为D3新手。我是否误解了一些关于如何加载数据并使用它的非常基础的东西?

谢谢!

0 个答案:

没有答案