如何使用d3.js对.csv文件的数据进行列式求和

如何使用d3.js对.csv文件的数据进行列式求和,d3.js,D3.js,给定此.csv文件: date,jan,feb,march 1-1-2011,1,2,3 1-2-2011,2,3,4 1-3-2011,1,4,5 我想要一个数组,它包含[4,9,12]这样的值。类似的东西可以工作: d3.csv('linktocsvfilehere.csv',function(data){ var sumArray = []; var janArray= [], febArray= [], marchArray = []; data.forEach(funct

给定此.csv文件:

date,jan,feb,march
1-1-2011,1,2,3  
1-2-2011,2,3,4  
1-3-2011,1,4,5

我想要一个数组,它包含[4,9,12]这样的值。

类似的东西可以工作:

d3.csv('linktocsvfilehere.csv',function(data){

var sumArray = [];
var janArray= [], febArray= [], marchArray = [];

data.forEach(function(d){
   janArray.push(d.jan); //push all jan values into jan array
   febArray.push(d.feb); //push all feb values into feb array
   marchArray.push(d.march); //push all march values into march array
});

var janSum = getSumOfArray(janArray); //get sum of jan array
var febSum = getSumOfArray(febArray);
var marchSum = getSumOfArray(marchArray);

sumArray.push(janSum,febSum,marchSum);

console.log(sumArray); //here is your array you want

function getSumOfArray(array){

   var thisSum = 0;

   for(var i = 0; i<array.length; i++){
      thisSum += array[i];
   }
   return thisSum;
}
})
d3.csv('linktocsvfilehere.csv',函数(数据){
var sumArray=[];
变量janArray=[]、febArray=[]、marchArray=[];
data.forEach(函数(d){
push(d.jan);//将所有jan值推送到jan数组中
febaray.push(d.feb);//将所有feb值推入feb数组
marchArray.push(d.march);//将所有三月值推送到三月数组中
});
var janSum=getSumOfArray(janArray);//获取jan数组的和
var febSum=getSumOfArray(Febaray);
var marchSum=getSumOfArray(Marchray);
push(janSum、febSum、marchSum);
console.log(sumArray);//这是您想要的数组
函数getSumOfArray(数组){
var thisSum=0;

对于(var i=0;i,类似的方法将起作用:

d3.csv('linktocsvfilehere.csv',function(data){

var sumArray = [];
var janArray= [], febArray= [], marchArray = [];

data.forEach(function(d){
   janArray.push(d.jan); //push all jan values into jan array
   febArray.push(d.feb); //push all feb values into feb array
   marchArray.push(d.march); //push all march values into march array
});

var janSum = getSumOfArray(janArray); //get sum of jan array
var febSum = getSumOfArray(febArray);
var marchSum = getSumOfArray(marchArray);

sumArray.push(janSum,febSum,marchSum);

console.log(sumArray); //here is your array you want

function getSumOfArray(array){

   var thisSum = 0;

   for(var i = 0; i<array.length; i++){
      thisSum += array[i];
   }
   return thisSum;
}
})
d3.csv('linktocsvfilehere.csv',函数(数据){
var sumArray=[];
变量janArray=[]、febArray=[]、marchArray=[];
data.forEach(函数(d){
push(d.jan);//将所有jan值推送到jan数组中
febaray.push(d.feb);//将所有feb值推入feb数组
marchArray.push(d.march);//将所有三月值推送到三月数组中
});
var janSum=getSumOfArray(janArray);//获取jan数组的和
var febSum=getSumOfArray(Febaray);
var marchSum=getSumOfArray(Marchray);
push(janSum、febSum、marchSum);
console.log(sumArray);//这是您想要的数组
函数getSumOfArray(数组){
var thisSum=0;

对于(var i=0;i来说,尽管那个家伙的答案很完美,但这要短得多:

d3.csv("yourFile.csv", function(data){

    var totalSum = [d3.sum(data.map(function(d){ return d.jan})),
       d3.sum(data.map(function(d){ return d.feb})),
       d3.sum(data.map(function(d){ return d.march}))];

    console.log(totalSum);//[4, 9, 12]

});

尽管那个家伙的答案很完美,但这要短得多:

d3.csv("yourFile.csv", function(data){

    var totalSum = [d3.sum(data.map(function(d){ return d.jan})),
       d3.sum(data.map(function(d){ return d.feb})),
       d3.sum(data.map(function(d){ return d.march}))];

    console.log(totalSum);//[4, 9, 12]

});

到目前为止你尝试了什么?到目前为止你尝试了什么?@GerardoFurtado我相信你做了,代码越少越好(如果它给出了正确的输出;)@GerardoFurtado我相信你做了,代码越少越好(如果它给出了正确的输出;)