javascript – DC.js图表​​中的初始范围选择

前端之家收集整理的这篇文章主要介绍了javascript – DC.js图表​​中的初始范围选择前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在一些dc.js图表​​(条形和直线)中进行初始范围选择.
所以我添加这个例子:
  1. .filter([7,10])

并且该范围在图表上显示良好,但显然选择了0个观察值.
我预计会选择几千个观测值.就像我用刷子手动选择范围[7,10]时那样.

我在这里缺少的任何暗示?

我的部分代码

  1. var chart_globalscore = dc.barChart('#chart_globalscore');
  2. (...)
  3. var ndx = crossfilter(data_movies),all = ndx.groupAll()
  4. (...),GlobalscoreDimension = ndx.dimension(function(d) { if ( !isNaN(d.Globalscore) ) {return Math.round(d.Globalscore*10)/10 ;} else {return -1;} }),GlobalscoreGroup = GlobalscoreDimension.group()
  5. (...)
  6. ;
  7. (...)
  8. chart_globalscore
  9. .width(width001)
  10. .height(height001)
  11. .margins(margins)
  12. .dimension(GlobalscoreDimension)
  13. .group(GlobalscoreGroup)
  14. .round(function(val){return Math.round(val*10)/10;})
  15. .x(d3.scale.linear().domain([0,10.1]))
  16. .filter([7,10])
  17. .centerBar(false)
  18. .transitionDuration(transitionDuration)
  19. .elasticY(true)
  20. .gap(1)
  21. .xUnits(function(){return 100;})
  22. .renderHorizontalGridLines(true)
  23. .yAxis().ticks(2)
  24. ;

解决方法

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

请尝试指定ranged filter object

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

猜你在找的JavaScript相关文章