我正在使用 dc.js 来显示饼图。我见过的所有带有饼图的示例都包含返回单个值的交叉过滤器维度
var quarter = ndx.dimension(function (d) {
var month = d.dd.getMonth();
if (month <= 3)
return "Q1";
else if (month > 3 && month <= 5)
return "Q2";
else if (month > 5 && month <= 7)
return "Q3";
else
return "Q4";
});
var quarterGroup = quarter.group().reduceSum(function (d) {
return d.volume;
});
生成的饼图将包含 4 个可能的值 Q1、Q2、Q3 和 Q4。
我需要一个饼图来显示返回多个值的维度。例如,用户可以在一个属性中使用一组主题。在饼图中,我需要显示所有可能的主题,这意味着我需要返回数组中的所有主题。
即类似的东西:
var subjects = ndx.dimension(function (d) {
return d.subjectArray
});
var subjectGroup = subjects.group()
但这不起作用,因为它将拆分饼图以显示所有不同类型的arraylist,而不是按它们的内容。
我一直在研究这个问题一段时间,但找不到解决方案。dc.js 和 crossfilter 甚至可以做到这一点吗?