crossfilter dimension on 2 fields
我的数据看起来像这样
1 2 3 4 5 6 | field1,field2,value1,value2 a,b,1,1 b,a,2,2 c,a,3,5 b,c,6,7 d,a,6,7 |
我没有很好的方法来重新排列数据,所以让我们假设数据必须保持这样。
我想在合并的
作为归约函数,您可以假设在
(已标记dc.js和Reductio,因为它可能对那些库的用户有用)
首先,我需要指出的是,您的数据是非规范化的,因此,无论使用哪种技术,您获得的计数都可能会有些混乱。
在交叉过滤器的标准用法中,每一行将精确地计入一个bin中,并且一组中的所有bin总计为100%。但是,在您的情况下,每行将被计数两次(除非两个字段相同),因此例如饼图将毫无意义。
也就是说,"标签尺寸"功能非常适合您要执行的操作。
尺寸声明可以很简单:
1 | var tagDimension = cf.dimension(function(d) { return [d.field1,d.field2]; }, true); |
现在每行将被计数两次-此维度及其相关组将完全像每行都被重复一样操作,一个副本由
如果使用此方法制作了条形图,则总数为2N减去