У меня есть следующие пользовательские функции снижениязаказ заказ в обычае уменьшить функции dc.js crossfilter.js
function reduceAdd(p, v) {
p.vol_t += v.oqt;
p.prc_t += v.it;
++p.count;
// p.average = d3.round((p.total/p.count), 2);
return p;
}
function reduceRemove(p, v) {
p.vol_t -= v.oqt;
p.prc_t -= v.it;
--p.count;
// p.average = d3.round((p.total/p.count), 2);
return p;
}
function reduceInitial() {
return {
vol_t: 0.0,
prc_t: 0.0,
count: 0,
};
}
Мои модели данных выглядит следующим образом:
[{cat:'a', oqt:23.0, it: 45.0},
{cat:'b', oqt:25.0, it: 5.0},
{cat:'b', oqt:22.0, it: 25.0},
{cat:'c', oqt:17.0, it: 35.0}]
Я пытаюсь построить пузырьковая диаграмма с dc.js с vol_t как X (keyAccessor), prc_t как ось Y (valueAccessor) и count как radiusAcessor. Как найти значения max и min во всех группах. Мои группы основаны на измерении категории «кошка».
Спасибо!
Мне это нужно для домена и диапазонов для моих осей. Я думал, что хочу рассчитать максимум, минимум с порядком сверху (1) [0]. Поэтому для оси X мне придется заказывать по объему, а для оси Y - заказывать по цене. – bashhike
Если вы хотите установить домен один раз, то вы не хотите использовать Crossfilter для этого. Просто преобразуйте данные в список чисел (используя Array.map) и используйте Math.min и Math.max. Или используйте d3.extent, если хотите. Если вы используете elasticX/elasticY, то я думаю, что dc.js справится с этим для вас. –