我有以下类型的数据集:
a:5 b:4 c:3 d:A
a:6 b:5 c:4 d:A
a:7 b:6 c:5 d:B
a:8 b:7 c:6 d:B
a:9 b:8 c:7 d:C
我想要' d'作为我的crossfilter的维度,图表中绘制的值是数据集中的(a / b)。为此,我在我的数据集中添加了一个额外字段,名为' e' =(a / b),然后通过以下方式将其作为i / p传递给crossfilter:
var facts = crossfilter(json); // json being the name of my dataset
var pfmValue = facts.dimension(function(d) {return d.d;});
var pfmValueGroupSum = pfmValue.group().reduceSum(function(d) {return +d.e;});
然后我使用pfmValue作为维度和pfmValueGroupSum沿着条形图的Y轴绘制了一个直流图。但是现在我意识到这不是我想绘制的。现在,我有三个条形显示等于以下的值表达式:
bar A: (5/4)+(6/5)
bar B: (7/6)+(8/7)
bar C: (9/8)
但我想要的是:
bar A: (5+6)/(4+5)
bar B: (7+8)/(6+7)
bar C: (9/8)
我该怎么做?任何建议都将受到赞赏。
答案 0 :(得分:1)
您可能需要创建一个自定义分组来跟踪" a"的总和。和" b"的总和在单独的属性中。然后你就可以算出" /"总和b"在构建可视化文件时。