我正在尝试生成箱形图。建立维和组之后,我跟着在 https://github.com/dc-js/dc.js/blob/master/web/examples/box-plot.htmldc.js boxplot b.map(...)。sort不是函数
给出的例子中,我使用reductio使减排更容易:
var ndx = crossfilter(ds);
var skuDim = ndx.dimension(function(d){ return d.sku; });
var skuGroup = skuDim.group();
var reducer = reductio();
reducer
.value('_nc')
.sum(function(d){
return d.nc;
});
reducer
.value('_ta')
.sum(function(d){
return d.ta;
});
reducer(skuGroup);
我还使用一个valueAccessor我组:
.valueAccessor(function(p){
return p.value._nc.sum ? Math.round(p.value._ta.sum/p.value._nc.sum * 100)/100 : 0;
})
我得到这个错误:
TypeError: b.map(...).sort is not a function.
我已经添加了一个小提琴来复制这个问题。 https://jsfiddle.net/momhzyxp/7/
干杯
箱线图需要每个值是一个数组 - 它看起来像你已经聚集在你的例子中的数据。相反,您需要提供实际值(如链接示例中所做的那样)。我不确定reductio如何做到这一点,但我已经添加了标签,并希望@EthanJewett会下降 - 看起来可能是[valueList](https://github.com/crossfilter/reductio#aggregations- standard-aggregations-reductio-value-list)或[dataList](https://github.com/crossfilter/reductio#aggregations-standard-aggregations-reductio-data-list)。 – Gordon
谢谢@Gordon。传递一组值。它现在有效。无法让reductio工作,虽然:| – bashhike