Javascript DC.js图表中的初始范围选择
我想在一些dc.js图表(条形图和线条图)中进行初始范围选择。Javascript DC.js图表中的初始范围选择,javascript,d3.js,filter,dc.js,crossfilter,Javascript,D3.js,Filter,Dc.js,Crossfilter,我想在一些dc.js图表(条形图和线条图)中进行初始范围选择。 因此,我添加了以下示例: .filter([7,10]) 该范围在图表上显示良好,但显然选择了0个观察值。 我预计会选择几千个观察结果。就像我用画笔手动选择范围[7,10]时一样 有没有关于我这里遗漏了什么的线索 我的部分代码: var chart_globalscore = dc.barChart('#chart_globalscore'); (...) var ndx = crossfilter(data_mo
因此,我添加了以下示例:
.filter([7,10])
该范围在图表上显示良好,但显然选择了0个观察值。我预计会选择几千个观察结果。就像我用画笔手动选择范围[7,10]时一样 有没有关于我这里遗漏了什么的线索 我的部分代码:
var chart_globalscore = dc.barChart('#chart_globalscore');
(...)
var ndx = crossfilter(data_movies)
,all = ndx.groupAll()
(...)
,GlobalScoreDimension = ndx.dimension(function(d) { if ( !isNaN(d.GlobalScore) ) {return Math.round(d.GlobalScore*10)/10 ;} else {return -1;} })
,GlobalScoreGroup = GlobalScoreDimension.group()
(...)
;
(...)
chart_globalscore
.width(width001)
.height(height001)
.margins(margins)
.dimension(GlobalScoreDimension)
.group(GlobalScoreGroup)
.round(function(val){return Math.round(val*10)/10;})
.x(d3.scale.linear().domain([0, 10.1]))
.filter([7,10])
.centerBar(false)
.transitionDuration(transitionDuration)
.elasticY(true)
.gap(1)
.xUnits(function(){return 100;})
.renderHorizontalGridLines(true)
.yAxis().ticks(2)
;
在dc.js中,过滤代码有点棘手。如果指定一个值数组,它将不会将该数组解释为一个范围。(它将把数组解释为单个值,或者如果数组包含另一个数组,) 请尝试指定一个名称,而不是:
.filter(dc.filters.RangedFilter(7, 10))