使用crossfilter.js时无法显示最高值

时间:2016-04-08 23:53:12

标签: dc.js

我试图在dc.js中显示由crossfilter找到的最高值,但是我得到了

未捕获的TypeError:_chart.group(...)。value不是函数

任何帮助?

这是我的代码

var ndx = crossfilter(projectsJson);
var highPriceDim = ndx.dimension(function(d) { return d.High; });
var highGrp = highPriceDim.top(1);
console.log(highGrp);

var highGrpND = dc.numberDisplay("#max-price-nd");
highGrpND.group(highGrp)
    .formatNumber(d3.format("d"))
    .valueAccessor(function(d){return d ; })
    .formatNumber(d3.format(".4f"));

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

highGrp是一个数组。请改为使用highGrpND.group(highGrp [0])。

答案 1 :(得分:0)

你应该能够做到

highGrpND.group(highPriceDim.group())

由于numberDisplay会查找value方法,或者失败,请.top(1)

https://github.com/dc-js/dc.js/blob/develop/src/number-display.js#L81

(这是一种凌乱的设计,但如果有效的话,嘿......)

这比在设置时计算顶部(1)更好,因为它将在每次绘制图表时计算,而不是仅仅计算一次,这可能是您想要的。