如何延迟图重绘?

时间:2015-05-14 10:00:01

标签: dc.js

我有一个“图表”,它是一个用于过滤其他图表的输入字段(过滤器只考虑包含输入到字段中的文本的数据。

它工作正常,但是当你想要过滤一个单词时(例如“test”,它将过滤t,然后te,然后测试,然后测试)并重新绘制图形4次,感觉有点迟钝,特别是在智能手机上。

有没有办法延迟绘制图表几毫秒,以确保没有输入额外的字母?

理想情况下,我想过滤每个字母并绘制快速图形(例如显示dataCount)并在绘制其他字母之前稍等一下(例如,气泡图或似乎更多cpu绑定的线图)

有一种简单的方法吗?

相关问题:将输入字段“过滤器图形”作为新图形类型添加到直流中是否有意义?

1 个答案:

答案 0 :(得分:1)

对于问题的第一部分,您正在寻找的功能称为“限制”。有一个implementation of it in underscore和lodash,以及其他地方。

(请勿使用dc.events.triggerbecause it's a debounce。)

至于绘制一些图表,你可以让你的“过滤器图形”设置crossfilter维度过滤器,然后只重绘一些图表,然后等待限制事件重绘其余图表,因为{ {1}}只是迭代所有图表。

但是,没有内置任何内置来管理这些类型的子组,因此您必须保留自己的图表列表。

即。类似的东西(可能在这里修改d3和jquery语法,但你明白了):

redrawAll

是的,在dc.js中有一个像这样的简单输入小部件会很棒 - 但我不知道如何以一般方式处理快/慢重绘。它可以将一些智慧归结为答案like the responses to this issue