【发布时间】:2015-05-09 22:17:26
【问题描述】:
是否可以在 dc 图表上一次添加一组过滤器?例如,假设我有一个饼图和一组要应用的过滤器值。
var osChart = dc.pieChart('#oschart');
还有一组输入过滤器,比如说
var filters = ["linux", "mac osx", "windows", "solaris"]
如何应用过滤器以便只生成一个“过滤”事件? 我可以做类似的事情
for (var i=0; i < filters.length; i++) {
osChart.filter(filters[i]);
}
但是,这会产生 4 个filtered 事件。
我正在根据用户在文本框中键入的内容应用过滤器。应用过滤器时,我会进行一些 ajax 调用,如果我一个一个地应用过滤器,这往往会减慢速度。如果可以一次设置过滤器,我可以避免额外的 ajax 调用。
crossfilter 有一个函数filterFunction 可以完成这项任务,但我不确定如何将它应用到 dc 图表上。在osChart.dimension() 上应用filterFunction 无效。在最新的 dc 版本中,我看到了一些功能,例如 addFilterHandler 和 removeFilterHandler,但是我现在无法测试和部署该版本。
我还有什么其他选择?
【问题讨论】:
标签: dc.js