Я пытаюсь создать гистограмму в DC.js. Здесь я уменьшил avg поля и хочу отобразить это по оси y. Я не знаю, как это сделать. Может ли кто-нибудь помочь мне в этом?Настроить .y ([yScale]) метод в dc.js
var dimByChannel = cf.dimension(function(d) { return d.channelUUID; });
var groupByChannel = dimByChannel.group().reduce(reduceAdd, reduceRemove, reduceInitial);
function reduceAdd(p, v) {
p.bytesTxd = p.bytesTxd + v.bytesTxd;
p.avg = (p.bytesTxd/total)*100;
p.count = p.count + 1;
return p;
}
function reduceRemove(p, v) {
p.bytesTxd = p.bytesTxd - v.bytesTxd;
p.avg = (p.bytesTxd/total)*100;
p.count = p.count - 1;
return p;
}
function reduceInitial() {
return {
bytesTxd: 0,
avg: 0,
count: 0
};
}
Я рассчитывается total
с помощью reduceSum()
. До сих пор все хорошо. Теперь, как показать уменьшенный avg
по оси Y?
chanUtil
.dimension(dimByChannel)
.group(groupByChannel)
.x(d3.scale.ordinal().domain(data.map(function (d) { return d.channelUUID; })))
.xUnits(dc.units.ordinal)
//.y(d3.scale.linear().domain(data.map(function (d) { return d.avg; })))
.yAxisLabel("Utilization %");
Да, это звучит, как вы на правильном пути. – Gordon
Спасибо .. Я, вероятно, не прошел через .valueAccessor() 'в API. Конечно, это было трудно понять полностью. Вы должны быть мастером 'dc.js' и' crossfilter.js', я часто нахожу ur ответы в Stack Overflow. – Greenhorn
Я нынешний сопровождающий, но не оригинальный автор. Это правда, нет подробной документации. Большинство людей начинают с примера [аннотированного запаса] (http://dc-js.github.io/dc.js/docs/stock.html) и других примеров. – Gordon