【发布时间】:2017-12-14 16:05:37
【问题描述】:
我需要实现以下代码:
d3.csv("data.csv", function(d, i, columns) {
for (i = 1, t = 0; i < columns.length; ++i) t += d[columns[i]] = +d[columns[i]];
d.total = t;
return d;
}, function(error, data) {
if (error) throw error;
var keys = data.columns.slice(1);
...
发件人:https://bl.ocks.org/mbostock/3886208
但是,我必须使用 d3.js 版本 3。我在 d3 v4 API 参考中找到了“列”:
返回的数组还公开了一个 columns 属性,其中包含按输入顺序排列的列名(与 Object.keys 不同,它的迭代顺序是任意的)。
例如:data.columns; // [“年份”、“品牌”、“型号”、“长度”]
但我正在努力在版本 3 中想出类似的东西来用于 keys 变量,如引用代码的最后一行所示:
var keys = data.columns.slice(1);
如何使用data 获得相同的d 和keys 而没有“columns”属性?
【问题讨论】:
-
感谢 github,有一个使用 D3 v3 的 Bl.ock 的旧版本:gist.github.com/mbostock/3886208/…
-
这会有很大帮助!谢谢@altocumulus
标签: javascript csv d3.js