can*_*his 3 javascript d3.js crossfilter
我正在玩crossfilter.js,请参阅https://github.com/square/crossfilter/wiki/API-Reference和http://square.github.io/crossfilter/.
据说这个库非常擅长快速处理数据.因此,为了测试它,我首先创建一个随机数组,一个大的,有一百万行.
function create_random_json(){
result = []
for (var i = 1000000 - 1; i >= 0; i--) {
result.push( { 'a': Math.random() , 'b' : Math.random() * 5 } )
}
return result
}
json_array = create_random_json()
df = crossfilter( json_array )
Run Code Online (Sandbox Code Playgroud)
到目前为止一切都很好,但是当我尝试做一些基本的交叉滤波器时,情况就非常糟糕了.
df.dimension( function(d){ return d.total; });
RangeError: Maximum call stack size exceeded
Run Code Online (Sandbox Code Playgroud)
我已经读过这个错误可能是由NaN值引起的,但是我生成的所有值显然都是浮点数,所以我假设其他东西导致了问题.任何提示?
我认为你需要实际计算总数:
df.dimension(function(o) { return o.a + o.b; });
Run Code Online (Sandbox Code Playgroud)
您传递的函数正在.dimension()返回undefined,因为数据集的所有行都没有"total"属性.
| 归档时间: |
|
| 查看次数: |
4203 次 |
| 最近记录: |