我已经创建了这个可视化,并希望在解释文本中使用预定义的过滤器。我创建了一个链接,其中过滤器应用于条形图上,如下所示:
<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();
}
过滤器工作正常,但是"年龄"图表中的笔刷没有相应设置。因此,对于用户来说,很难判断到底过滤了什么。
我遇到了这个问题,但没能把它应用到dc.js的工作方式中。另一个问题似乎指向同一个方向,但缺乏彻底的答案。
由于我们没有足够的评审员来将问题标记为重复,我将详细说明这一点。
dc.js对量化尺度的过滤处理完全不同,所以不能使用上面的代码,这是针对序数尺度的。
尝试使用一个范围过滤器对象:
<a href="javascript:filterAge(13,16)">Filter</a>
function filterAge(low, high) {
dc.filterAll();
ageChart.filter(dc.filters.RangedFilter(low, high));
dc.redrawAll();
}