如何在 dc.js 中每个维度有多个图表?
How to have multiple graphs per dimension in dc.js?
假设以下数据集:
var data = [
{
"userId": "u1",
"questionId": "q1",
"answerId": "a1"
},
...
];
我想绘制饼图列表。每个饼图对应一个问题,饼图就是该问题的答案。
现在,当有人点击饼图获得 select 一个答案时,它会更新剩余的饼图,其中包含也 select 编辑了该答案的用户。
基本上,用例是 "users who answer "a1" 到问题 "q1" 也回答了问题 "q2" 与馅饼给出的分布等
我不确定最佳的处理方式是什么。
我应该使用多个 crossfilter 实例吗?只用一个可行吗?我怎样才能实现这个过滤器?过滤器似乎适用于用户,但尺寸就是答案...
感谢您的帮助!
通常从 crossfilter 得到一个简单的答案意味着构建您的数据,使其成为您要计算的行的平面数组。这里要统计用户。
如果这是您的整个可视化效果,并且您可以重组数据,那么获得您想要的内容的最简单方法是每个用户一行:
[{"userId": "u1",
"q1": "a1",
"q2": "a2",
...
},
{"userId": "u2",
"q1": "a1",
"q2": "a2",
...
}]
现在,只需在每个问题上键入维度,每个问题都有默认的 reduceCount
组,您就可以自动获得所需的内容。
尺寸将是这样的:
var dim = cf.dimension(function(d) {
return d.q1;
});
假设以下数据集:
var data = [
{
"userId": "u1",
"questionId": "q1",
"answerId": "a1"
},
...
];
我想绘制饼图列表。每个饼图对应一个问题,饼图就是该问题的答案。
现在,当有人点击饼图获得 select 一个答案时,它会更新剩余的饼图,其中包含也 select 编辑了该答案的用户。
基本上,用例是 "users who answer "a1" 到问题 "q1" 也回答了问题 "q2" 与馅饼给出的分布等
我不确定最佳的处理方式是什么。 我应该使用多个 crossfilter 实例吗?只用一个可行吗?我怎样才能实现这个过滤器?过滤器似乎适用于用户,但尺寸就是答案...
感谢您的帮助!
通常从 crossfilter 得到一个简单的答案意味着构建您的数据,使其成为您要计算的行的平面数组。这里要统计用户。
如果这是您的整个可视化效果,并且您可以重组数据,那么获得您想要的内容的最简单方法是每个用户一行:
[{"userId": "u1",
"q1": "a1",
"q2": "a2",
...
},
{"userId": "u2",
"q1": "a1",
"q2": "a2",
...
}]
现在,只需在每个问题上键入维度,每个问题都有默认的 reduceCount
组,您就可以自动获得所需的内容。
尺寸将是这样的:
var dim = cf.dimension(function(d) {
return d.q1;
});