使用带人力车的crossfilter组

时间:2014-07-03 20:38:19

标签: javascript crossfilter rickshaw

我正在尝试将crossfilter与人力车一起使用,但我遇到了这个问题:

Rickshaw希望其系列数据数组由具有x和y属性的对象组成,其中crossfilter输出使用键和值属性。

因此,crossfilter会输出类似的内容:

console.log(usersByProduct.all()[0]) // => Object {key: 1390291200, value: 249}

这显然是人力车拒绝了这样的错误:

Uncaught x and y properties of points should be numbers instead of undefined and undefined

我能想到让它发挥作用的唯一方法是:对底层交叉过滤器的任何更改,将交叉过滤器结果复制到一个新数组并使用新数据重置人力车,这看起来非常难看并且是不必要的副本。

有没有人有更好的方法?

1 个答案:

答案 0 :(得分:0)

我不认为Rickshaw允许您像dc.js那样在图表上设置访问者,因此您必须以其期望的格式提供数据。我认为你必须如你所描述的那样在Rickshaw图上明确设置更新的数据。在任何情况下,你必须在你的Rickshaw图上调用对Crossfilter的任何更改的render()方法,不是吗?因此,您可以封装重置数据并将.render()调用到单个函数中,并在调整Crossfilter时调用它。但希望其他人会有更好的主意。