【发布时间】:2019-03-05 14:52:42
【问题描述】:
我正在尝试创建一个关于作家的数据可视化。我创建了 csv 文件,然后由 d3.csv 函数处理。我还定义了另一个函数来处理一些值作为数字而不是字符串(特别是出版年份、页面和价格)。但是,当我将页面加载到浏览器中时,控制台仍将这些值作为字符串返回。你能帮我理解为什么以及如何解决它吗?谢谢!
<script type="text/javascript" src="d3.js">
var w = 500;
var h = 520;
var padding = 30;
var svg = d3.select("body").append("svg")
.attr("width", w)
.attr("height", h);
var rowConverter = function(d) {
return {
author: d.author,
title: d.title,
publisher: d.publisher,
year: parseFloat(d.year),
pages: parseFloat(d.pages),
price: parseFloat(d.price)
};
}
d3.csv("libri_nuovi.csv", rowConverter, function(data) {
console.log(data);
});
</script>
</body>
【问题讨论】:
-
你能发布一个问题的最小运行示例吗?
-
如果我必须打赌,我会说这是 v5 与 v4 的问题。像这样的东西:"d3 importing csv file to array [duplicate]"。你用的是什么版本?你能发布
console.log(d3.version)的输出吗? -
这是控制台中的输出:对象作者:“Claudio Magris”页面:“400”价格:“30”发布者:“Mondadori”标题:“Danubio”年份:“1996”proto: Object 这是我正在使用的 d3 版本:console.log(d3.version); 5.8.0 谢谢!
标签: d3.js parsefloat