我尝试使用dc.js
和Crossfilter
但我在添加具有相同类别的值时遇到了一些问题。
我解释一下:我的演示有 3 列(项目、金额、行动)。 然后我使用以下代码创建金额类别:
var amount = d.amount;
if (amount<=10) {
return '< 10';
} else if (amount >10 && amount < 50) {
return '<50';
} else if (amount >= 50 && amount <= 80) {
return '< 80';
} else {
return '> 80';
}
我想要的是:如果是同一个项目,添加所有金额并创建这些类别。
所以在 < 10
类别中只有密文。在 >10 and <50
类别将有设计和网站托管...如果 >50
将会有网站设计。
这是 Jsfiddle:http://jsfiddle.net/nicart/179n4bfg/6/
谢谢你的帮助,我完全迷路了。
最佳答案
所以你想动态计算这个类别?例如,如果“Design”项目有一个值为 5 的“stuff”操作,并且应用过滤器仅显示“stuff”,那么“Design”会落入“<10”类别吗?或者您是否希望每个项目都根据其总体值(value)进行分类,无论应用什么过滤器?
如果是前者,您将必须创建一个组包装器来创建一个“假”组,并在运行时将项目维度上的标准组重新聚合到您的分类值中。请参阅此处,其中谈到创建“假组”:https://github.com/dc-js/dc.js/wiki/FAQ
如果是后者,那么您应该将其作为预计算步骤执行,并向每条记录的基础数据添加类别维度。
关于javascript - 饼图中按类别求和(Dc.js 和 Crossfilter),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30569541/