如何使用 dc.js 将画笔设置为过滤范围

How to set brushes to filtered range with dc.js

我已经创建了 this 可视化并且想在解释文本中使用预定义的过滤器。我创建了一个 link 过滤器应用于条形图,如下所示:

<a href="javascript:filterAge([13,14,15])">Filter</a>

filterAge 函数是:

function filterAge(filters) {
  dc.filterAll();
  for (var i = 0; i < filters.length; i++) {
    ageChart.filter(filters[i]); 
  }
  dc.redrawAll();
}

过滤器工作正常,但年龄图表中的画笔未相应设置。所以对于用户来说,很难说出到底过滤了什么。

我遇到了 this question but did not manage to apply this to the dc.js way of working. Another 问题似乎方向相同,但缺乏彻底的答案。

由于我们没有足够的审稿人来将问题标记为重复,所以我会详细说明。

dc.js 对定量尺度的过滤处理完全不同,因此您不能使用上面的代码,它适用于顺序尺度。

尝试使用 ranged filter object 代替:

<a href="javascript:filterAge(13,16)">Filter</a>

function filterAge(low, high) {
  dc.filterAll();
  ageChart.filter(dc.filters.RangedFilter(low, high));
  dc.redrawAll();
}