D3.csv 不加载数字矩阵

d3.csv doesnt load numeric matrix

本文关键字:数字 加载 csv D3      更新时间:2023-09-26

我想使用 d3.csv 加载外部.csv文件。

这是数据.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)或(parseIntparseFloat)将它们转换为数字。在 d3 中,您经常看到它缩短为 y: +d.y

使用 d3.csv您可以指定一个函数,您可以在解析时在其中执行此转换。请参阅文档。