Gettin 交叉过滤器.js错误“太多递归”
Gettin crossfilter.js error "too much recursion"
我在交叉过滤器上收到错误"too much recursion"
.js 如何修复此错误。
这是我的javascript代码(我从php提供数据。所以数据没有错。我认为尺寸错误):
var data= [{
HASTANE: 'ANK',
SEHIR: 'Ankara',
BOLGE: 'İç Anadolu Bölgesi ',
KOD: 'C00',
KODACIKLAMA: 'Dudağın habis neoplazması',
KURUM: 'Devlet' ,
DONEM: 'OCAK 2014',
SAYI: 2,
INSIDANS:2
},{
HASTANE: 'TKD',
SEHIR: 'Tekirdağ',
BOLGE: 'Marmara Bölgesi ',
KOD: 'C00',
KODACIKLAMA: 'Dudağın habis neoplazması',
KURUM: 'Devlet' ,
DONEM: 'OCAK 2014',
SAYI: 1,
INSIDANS:1
},{
HASTANE: 'ADN',
SEHIR: 'Adana',
BOLGE: 'Akdeniz Bölgesi',
KOD: 'C00',
KODACIKLAMA: 'Dudağın habis neoplazması',
KURUM: 'Devlet' ,
DONEM: 'OCAK 2014',
SAYI: 1,
INSIDANS:1
},{
HASTANE: 'ESKYM',
SEHIR: 'Eskişehir',
BOLGE: 'İç Anadolu Bölgesi ',
KOD: 'C00',
KODACIKLAMA: 'Dudağın habis neoplazması',
KURUM: 'Devlet' ,
DONEM: 'OCAK 2014',
SAYI: 1,
INSIDANS:1
},{
HASTANE: 'IST',
SEHIR: 'İstanbul',
BOLGE: 'Marmara Bölgesi ',
KOD: 'C00',
KODACIKLAMA: 'Dudağın habis neoplazması',
KURUM: 'Devlet' ,
DONEM: 'OCAK 2014',
SAYI: 2,
INSIDANS:2
}]
var mapChart = dc.bubbleOverlay("#map").svg(d3.select("#map svg"));
var donemRowMapChart = dc.rowChart("#donem-map-chart");
var bolgeRowMapChart = dc.rowChart("#bolge-map-chart");
var d= [data];
var data = crossfilter(d);
var sehir=data.dimension(function(d){return d.SEHIR;});
var donem=data.dimension(function(d){return d.DONEMADI;});
var bolge=data.dimension(function(d){return d.BOLGE;});
var sehirGroup=sehir.group().reduceSum(function(d){return d.INSIDANS});
var donemGroup=donem.group().reduceSum(function(d){return d.INSIDANS});
var bolgeGroup=bolge.group().reduceSum(function(d){return d.INSIDANS});
mapChart.width(600)
.height(450)
.dimension(sehir)
.group(sehirGroup)
.radiusValueAccessor(function(p) {
return p.value;
})
.r(d3.scale.linear().domain([0, 200000]))
.colors(["#ff7373","#ff4040","#ff0000","#bf3030","#a60000"])
.colorDomain([13, 30])
.colorAccessor(function(p) {
return p.value;
})
.title(function(d) {
return "City: " + d.key
+ "'nINSIDANS SAYISI: " +d.value;
})
.point("TR.GA", 364, 400)
.point("TR.ED", 395.5, 383)
.debug(false);
donemRowMapChart
.width(300)
.height(200)
.margins({top: 5, left: 10, right: 10, bottom: 20})
.dimension(donem)
.group(donemGroup)
.colors(d3.scale.category10())
.elasticX(true)
.xAxis().ticks(4);
bolgeRowMapChart
.width(300)
.height(200)
.margins({top: 5, left: 10, right: 10, bottom: 20})
.dimension(bolge)
.group(bolgeGroup)
.colors(d3.scale.category10())
.elasticX(true)
.xAxis().ticks(4);
dc.renderAll();
第 178 行,列 4 交叉过滤器引发错误.js:
function quicksort(a, lo, hi) {
// Compute the two pivots by looking at 5 elements.
var sixth = (hi - lo) / 6 | 0,
i1 = lo + sixth,
i5 = hi - 1 - sixth,
i3 = lo + hi - 1 >> 1, // The midpoint.
i2 = i3 - sixth,
i4 = i3 + sixth;
........................}
那么我该如何修复错误。
感谢您的帮助
通常,
当我的维度不是自然排序时,就会发生这种情况。您通常需要强制转换用于创建维度的任何值。具体而言,DONEMADI 可能不是许多数据对象的属性,因为它不会出现在示例数据中。我会将您的代码更改为
var sehir=data.dimension(function(d){return "" + d.SEHIR;});
var donem=data.dimension(function(d){return "" + d.DONEMADI;});
var bolge=data.dimension(function(d){return "" + d.BOLGE;});
var sehirGroup=sehir.group().reduceSum(function(d){return +d.INSIDANS});
var donemGroup=donem.group().reduceSum(function(d){return +d.INSIDANS});
var bolgeGroup=bolge.group().reduceSum(function(d){return +d.INSIDANS});
如果这样做,您仍然看到问题吗?
相关文章:
- 如何修复“;太多递归”;ReactJS中的错误
- 加载事件中的“太多递归”
- 树中的递归错误太多
- HTML5 Canvas Pacman Game - JavaScript 太多的递归
- JQuery 验证 - 太多的递归 - 堆栈溢出
- 谷歌地图点击平移到新位置 递归错误太多
- 主干/下划线 js “太多递归”和“检查目标崩溃”错误
- Jquery 拆分器插件收到错误太多递归
- Gettin 交叉过滤器.js错误“太多递归”
- "太多递归”;重复变化
- "太多递归"由jQuery提交
- 角度相等方法由于“;太多递归”;
- dropzone.js函数getQueuedFiles导致"太多递归”;
- 对象文字表示法getter和setter:太多递归
- 为什么有这么多递归
- jquery抛出太多递归异常
- Angular js在调用$apply()时出现太多递归错误
- jQuery ajax”;太多递归”;
- 谷歌地图API自定义地图类型允许边界的最大调用堆栈大小超过/太多递归
- 太多递归了