javascript - d3.csv 不加载数字矩阵

标签 javascript csv d3.js

我想使用 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/

相关文章:

javascript - Ember : Access ember data 'store' object from utility class

csv - 通过 Lua 脚本监控文件

Bash:按前 4 列对 csv 文件进行排序

javascript - 为什么这些标签不可见

javascript - 使用另一个数组元素进行数组解构

javascript - Angular-ui typeahead 仅在退格键上给出正确的结果

csv - Beeline-Hive 返回数据顶部带有空白行的 CSV

javascript - 使用 Jquery close() 函数获取距离 SVG 节点最近的元素

javascript - NVD3 如何正确设置 y 刻度?

javascript - 脚本错误 : variable is undefined