假设以下数据集:
var data = [
{
"userId": "u1",
"questionId": "q1",
"answerId": "a1"
},
...
];
我想绘制一个饼图列表。每个饼图对应一个问题,其中馅饼是该问题的答案。
现在,当有人点击某个饼来选择一个答案时,它会更新剩余的饼图给那些也选择了这个答案的用户。
基本上,用例是"用户回答" a1"问题" q1"也回答了问题" q2"随着馅饼等的分配。
我不确定什么是最佳的继续方式。 我应该使用几个crossfilter实例吗?只有一个可行吗?我该如何实现这个过滤器?过滤器似乎适用于用户,但尺寸是答案......
感谢您的帮助!
答案 0 :(得分:1)
通常从crossfilter获得简单的答案意味着构建数据,因此它是您想要计算的行的平面数组。在这里,您想要计算用户数。
如果这是您的整个可视化,并且您可以重新构建数据,那么获得所需内容的最简单方法是为每个用户设置一行:
[{"userId": "u1",
"q1": "a1",
"q2": "a2",
...
},
{"userId": "u2",
"q1": "a1",
"q2": "a2",
...
}]
现在,只需在每个问题上键入维度,每个问题都有默认的reduceCount
组,您就可以自动获得所要求的内容。
尺寸将如下:
var dim = cf.dimension(function(d) {
return d.q1;
});