我有生成的 csv 文件,我正在尝试将它们加载到 d3 中以绘制它们。列名是基于数据的,所以我基本上无法提前知道它们。通过测试,如果我知道列的名称,我就能够加载这些数据并将其绘制得很好而且很好......但我不知道我的用例。
我如何在 d3 中处理这个问题?我似乎无法在网上或文档中找到任何帮助/引用此信息的内容。当我从 d3.csv 登录到控制台数据 [0] 时,我可以看到有两列和为它们读取的值,但我不知道如何在不知道的情况下任意引用数据的第 1 列或第 2 列提前列的名称。一般来说,我想避免这种情况,因为我知道我的时间戳在第 1 列中,而我的数据在第 2 列中,如果这有意义的话。
编辑,我的答案使用 d3.entries 来帮助学习未知列的名称,然后继续访问具有该索引的所有对象:
d3.csv("export.csv", function(error, data) {
var mappedArray = d3.entries(data[0]);
var valueKey = mappedArray[1].key;
data.forEach(function(d) {
...
d.value = d[valueKey];
}
}
最佳答案
您可以使用 d3.entries()
function将一个关联数组转换为另一个数组,该数组包含一个关联数组,每个键值对都有 key
和 value
键。
关于javascript - d3 似乎假设我知道 csv 的列名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15121690/