我有生成的 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];
}
}