我试图在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"));
感谢您的帮助
答案 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)更好,因为它将在每次绘制图表时计算,而不是仅仅计算一次,这可能是您想要的。