Usando o Crossfilter, é possível rastrear max / min ao agrupar?
Ao usar o Crossfilter (https://github.com/square/crossfilter), especifico funções a serem usadas ao adicionar e remover dados de um grupo. É bem trivial acompanhar uma média de execução (usando o CoffeeScript):
<code>reduceAdd = (p, v) -> ++p.count; p.sum += v.digit; p reduceRemove = (p, v) -> --p.count; p.sum -= v.digit; p reduceInitial = -> { count: 0 sum: 0 average: -> return 0 if this.count == 0 return this.sum / this.count } </code>
É possível acompanhar o máximo e o mínimo de cada grupo? Eu não consigo descobrir uma maneira de manter todos os elementos em uma matriz enorme e fazer um d3.min / d3.max. Parece que adicionar / remover dados seria extremamente ineficiente.
Eu também procurei uma maneira de dizer ao Crossfilter para reconstruir completamente o grupo a partir do zero, em vez de remover itens de um grupo existente. Se um filtro for aplicado, o grupo será redefinido e recriado. Nada óbvio.