【问题标题】:Initial Range selection in DC.js chartDC.js 图表中的初始范围选择
【发布时间】:2015-05-10 10:23:30
【问题描述】:

我想在一些 dc.js 图表(条形图和折线形图)中进行初始范围选择。
所以我添加这个例如:

.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)
        ;

【问题讨论】:

    标签: javascript d3.js filter dc.js crossfilter


    【解决方案1】:

    dc.js 中的过滤器代码有点棘手。如果您指定一个值数组,它不会将该数组解释为一个范围。 (它会将数组解释为单个值,或者如果数组包含另一个数组,it will filter on the values inside that array。)

    尝试指定ranged filter object

        .filter(dc.filters.RangedFilter(7, 10))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多