Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用D3.nest()按列标题创建对象数组_Javascript_Arrays_Csv_D3.js - Fatal编程技术网

Javascript 使用D3.nest()按列标题创建对象数组

Javascript 使用D3.nest()按列标题创建对象数组,javascript,arrays,csv,d3.js,Javascript,Arrays,Csv,D3.js,我有一个CSV文件,格式如下: 时间,第一组,第二组,第三组 0,45,30,30, 1,30,25,31, 2,50,45,30, 我想将其构造为一个对象数组,这样: [{group1:array[3]},{group2:array[3]},…] 其中每个数组[3]本身就是一个成对的对象数组 时间列中的值及其各自的组列中的值 i、 e.: group1[{time:0,value:45},{time:1,value:30},…]group2[{time:0,value:30},…] D3.cs

我有一个CSV文件,格式如下:

时间,第一组,第二组,第三组
0,45,30,30,
1,30,25,31,
2,50,45,30,

我想将其构造为一个对象数组,这样:
[{group1:array[3]},{group2:array[3]},…]

其中每个
数组[3]
本身就是一个成对的对象数组 时间列中的值及其各自的组列中的值 i、 e.:
group1
[{time:0,value:45},{time:1,value:30},…]
group2
[{time:0,value:30},…]


D3.csv按行解析,我不确定如何使用D3.nest遍历生成的对象数组,或者是否有方法在D3.csv访问器函数中设置数据结构。(如果我使用术语不当,我深表歉意)

您不必使用
d3.nest()
来执行此操作。您可以在解析的csv文件上循环,以将数据转换为所需的格式。例如:

var csv = "time,group1,group2,group3\n0,45,30,30\n1,30,25,31\n2,50,45,30";
var data = d3.csv.parse(csv);
var result = [ {group1: []}, {group2: []}, {group3: []}]

data.forEach(function(d) {
    result[0]['group1'].push({time: +d.time, value: +d['group1']})
    result[1]['group2'].push({time: +d.time, value: +d['group2']})
    result[2]['group3'].push({time: +d.time, value: +d['group3']})
});
这不是最灵活的示例(因为列是硬编码的),但希望它能让您了解如何进行