2017-10-21 151 views
1

我有一個數據集,看起來是這樣的:DC.js計算平均根據尺寸

MONTH CAT VAL 
may  A  1.0 
may  B  3.2 
may  C  4.6 
jun  A  2.7 
jun  B  4.2 
jun  C  5.8 
jul  A  4.1 
jul  B  9.2 
jul  C  13.0 

我已經能夠創造DC.js一個圖表,顯示根據該VAL的總和的CAT可變,與此代碼:

let chart = dc.barChart('#chart'); 

let ndx = crossfilter(data); 

let catDim = ndx.dimension(function(d){return d.cat;}); 
let catGroup = catDim.group().reduceSum(function(d){return +d.val;}); 

chart 
    .dimension(catDim) 
    .group(catGroup) 
    .x(d3.scale.ordinal().domain(catDim)) 
    .xUnits(dc.units.ordinal) 
    .elasticY(true) 

我的問題是,代替總和,我想在GRAFIC顯示每月平均VAL的每個CAT(MONTH可以被過濾另一個gr APH)。

有沒有辦法做到這一點?

在此先感謝您的答案!

+0

同意Xavier的回答;請參閱[FAQ](https://github.com/dc-js/dc.js/wiki/FAQ)和[註釋庫存示例](http://dc-js.github.io/dc.js/docs /stock.html)以獲取示例代碼。 – Gordon

回答

0

因此,不要使用crossfilter來「跟蹤」總和,而是使用自定義reduce來跟蹤項目總數和項目數量,並添加valueAccessor以返回x.value.sum/x.value。數量

我建議你使用reductio來處理自定義減少,檢查例子,你有一個平均。