假设以下数据集:
var data = [
{
"userId": "u1",
"questionId": "q1",
"answerId": "a1"
},
...
];
我想绘制饼图列表。每个饼图对应一个问题,饼图就是该问题的答案。
现在,当有人点击饼图选择答案时,它将更新剩余的饼图,其中包含也选择了该答案的用户。
基本上,用例是“对问题“q1”回答“a1”的用户也回答了问题“q2”,分布由饼图等给出。
我不确定最好的继续方式是什么。 我应该使用交叉过滤器的多个实例吗?只用一个就可以吗?我怎样才能实现这个过滤器?似乎过滤器适用于用户,但尺寸就是答案......
感谢您的帮助!
最佳答案
通常从 crossfilter 得到一个简单的答案意味着结构化你的数据,使其成为你想要计数的行的平面数组。在这里您想要计算用户数量。
如果这是您的整个可视化,并且您可以重组数据,那么获得您想要的结果的最简单方法是每个用户一行:
[{"userId": "u1",
"q1": "a1",
"q2": "a2",
...
},
{"userId": "u2",
"q1": "a1",
"q2": "a2",
...
}]
现在,您只需在每个问题上键入维度即可自动获得您所要求的内容,每个问题都有默认的 reduceCount
组。
尺寸如下:
var dim = cf.dimension(function(d) {
return d.q1;
});
关于javascript - 如何在 dc.js 中每个维度有多个图表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31686444/