2014-03-12 55 views
0

我有一個CSV的格式文件:使用D3.nest()來創建由列標題對象的數組

時間,組1,組2,組3
0,45,30,30,
1,30,25,31,
2,50,45,30,

欲結構作爲對象的數組,使得:
[{group1:array[3]}, {group2:array[3]},...]
其中每個array[3]是本身對象的數組對 th在時間列在其各自的組列中的值e值 即:
1組第2組[{time:0, value:45},{time:1, value:30},...][{time:0, value:30},...]

D3.csv解析通過行和我不知道如何通過所得到的與D3對象數組迭代.nest或者是否有方法在d3.csv訪問器函數中設置數據結構。 (如果我使用的條款不當,我很抱歉)

回答

1

您不必使用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']}) 
}); 

這還不是最靈活的例子(因爲列硬編碼),但希望它會給你如何去了解它的想法。

相關問題