我想使用 d3.csv 加载外部 .csv 文件。
这是 data.csv(在 vim 中创建):
x,y
2,2
99,18
这是 d3 代码:
d3.csv("data.csv", function(dataset){
console.log(d3.max(dataset, function(d){return d["y"];}));
});
尽管我预期是“18”,但我得到的控制台输出是“2”。如果我将“18”更改为另一个数字,例如‘35’输出再次正确。我做错了什么?
最佳答案
这些数字作为字符串加载,这导致 d3.max 出现意外行为。您需要将值转换为数字。
您可以通过 Number(d.y)
或 (parseInt
, parseFloat
) 将它们转换为数字。在 d3 中,您经常会看到它缩写为 y: +d.y
。
使用d3.csv
,您可以指定一个函数,您可以在解析时执行此转换。 See documentation .
关于javascript - d3.csv 不加载数字矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27348554/