D3 CSV Import With "%"

D3 CSV Import With "%"

本文关键字:quot With CSV Import D3      更新时间:2023-09-26

我正在尝试导入一个CSV,看起来像这样:

月,比

1月0.19%

2月0.19%

3月,0.19%

4月0.18%我现在使用的代码是:

    d3.csv("month_ct.csv", function(d) {
    return {
        month: d.Month,
        ratio: +d.Ratio // convert "Length" column to number
    }; }, 
    function(error, rows) {
    console.log(rows);
    });

我的第一个问题是如何实际访问这些数据。当我第一次打开它时,我看到它显示在控制台上,并且我能够查看它的内容,但是如果我将代码设置为一个变量,例如"dataset",我就无法访问列表的元素。

第二,查看返回项的比率为NaN,它们应该是数字。

最后,我的代码根据数据集中的最大值绘制缩放的图像。迭代数据集以获得最大比率的合适方法是什么?对于列表的列表,我会这样做:

    var max = 0;
    for (group in dataset) {
    if (group[1] > max) {
    max = group[1];
    }
    }

NaN是因为Ratio字段后面有一个'%'。你可以这样删除它:

ratio: +d.Ratio.slice(0, -1)

假设所有Ratio字段都有一个'%'字符。

为了遍历行,你可以这样做:

var max = -1;
for (var i = 0; i < rows.length; i++ ) {
    if (rows[i].Ratio > max) {
        max = rows[i].Ratio;
    }
}

编辑:将变量的名称更改为rows,以反映回调函数中应该定义的名称