创建直方图(JavaScript)的增量问题

时间:2015-03-28 18:01:58

标签: javascript arrays histogram increment

使用下面的代码我试图在dist的每一行中创建值的直方图,其中hist的每一行是10个箱的直方图。 step是浮点值(0.12158 ...)。

 for(i = 0; i < dist.length; i++){
    for(j = 0; j < dist[0].length; j++){
        bin = parseInt(dist[i][j]/step);
        if(bin == 10)
            bin = 9;
        hist[i][bin]+=1;
    }
}

dist是一个声明为:

的二维数组
var dist = [];
for(var x = 0; x < 77; x++){
    dist[x] = [];    
    for(var y = 0; y < 50; y++){ 
        dist[x][y] = x*y;    
    }    
}

hist同样声明为:

var hist = [];
for(var x = 0; x < 77; x++){
    hist[x] = [];    
    for(var y = 0; y < 10; y++){ 
        hist[x][y] = x*y;    
    }    
}

hist的第一行给出了我期望的结果,频率总计为50.但是,下一行的二进制数中的值不是从零开始,所以这些值是来自先前直方图的值加上当前值的总和。

例如,hist的第一行:

[1, 10, 8, 9, 6, 7, 4, 3, 1, 1]

hist的第二行:

[1, 10, 10, 13, 10, 12, 10, 9, 10, 10]

非常感谢任何帮助!

0 个答案:

没有答案