javascript - d3 似乎假设我知道 csv 的列名?

标签 javascript csv d3.js graphing

我有生成的 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将一个关联数组转换为另一个数组,该数组包含一个关联数组,每个键值对都有 keyvalue 键。

关于javascript - d3 似乎假设我知道 csv 的列名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15121690/

相关文章:

javascript - 使用正则表达式测试密码

mysql - 如何在 MySQL 中使用 INTO OUTFILE 命令转义字符?

javascript - 通过 jQuery 使用远程 CSV 文件?

mysql - 如何使用asp classic将csv数据传输到mysql

d3.js - 如何使用 D3js 向饼图添加图例?以及如何集中饼图?

javascript - jQuery When Done 动态拉取函数调用

javascript - 缩放的 Canvas 元素的坐标

javascript - 如何使用 d3.js 缩放图表内的元素

javascript - 在搜索十字图标上运行功能

javascript - 使用数组制作d3.map