我想使用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'输出再次正确。我做错了什么?
答案 0 :(得分:1)
这些数字将作为字符串加载,这会导致d3.max的意外行为。您需要将值转换为数字。
您可以通过Number(d.y)
或(parseInt
,parseFloat
)将其转换为数字。在d3中,您经常会将其缩短为y: +d.y
。
使用d3.csv
,您可以指定一个函数,您可以在解析时执行此转换。 See documentation