我正在尝试导入如下所示的CSV:
月,比率
一月,0.19%
二月,0.19%
三月,0.19%
四月,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);
});
我的第一个问题是如何实际访问这些数据。当我第一次打开它时,我看到它显示在控制台上,我能够查看其内容,但如果我将代码设置为等于变量,请说"数据集,"我无法访问列表中的元素。
其次,查看返回的项目的比率为NaN,它们应该是数字。
最后,我的代码绘制了根据数据集中的最大值进行缩放的图像。什么是迭代数据集以获得最大比率的适当方法?对于列表列表,我会这样做:
var max = 0;
for (group in dataset) {
if (group[1] > max) {
max = group[1];
}
}
答案 0 :(得分: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
以反映应在回调函数中定义的名称。