我有折线图,我需要在一天中显示订单执行的频率。这些订单按时间间隔分组,例如每小时使用自定义缩减功能。没有订单执行时可能会有一个小时的间隔,但我需要将其显示为该行的零点。我创建了一个'假组',其中包含零计数的所有箱子......并且页面的初始加载是正确的。
然而,折线图是页面上的11个图表之一,并且当过滤器应用于其他图表时需要更新。当我在另一个图表上过滤时,对此特定频率折线图的影响不正确。维度和'假组'用于dc.chart。
我在reduceRemove函数中放入了console.log消息,可以看出有什么问题......但不确定原因。
关于我可能出错的地方的任何想法。
FrequencyVsTimeDimension = crossfilterData.dimension(function (d) { return d.execution_datetime; });
FrequencyVsTimeGroup = FrequencyVsTimeDimension.group(n_seconds_interval(interval));
FrequencyVsTimeGroup.reduce(
function (p, d) { //reduceAdd
if (d.execution_datetime in p.order_list) {
p.order_list[d.execution_datetime] += 1;
}
else {
p.order_list[d.execution_datetime] = 1;
if (d.execution_type !== FILL) p.order_count++;
}
return p;
},
function (p, d) { //reduceRemove
if (d.execution_type !== FILL) p.order_count--;
p.order_list[d.execution_datetime]--;
if (p.order_list[d.execution_datetime] === 0) {
delete p.order_list[d.execution_datetime];
}
return p;
},
function () { //reduceInitial
return { order_list: {}, order_count: 0 };
}
);
var FrequencyVsTimeFakeGroup = ensure_group_bins(FrequencyVsTimeGroup, interval); // function that returns bins for all the intervals, even those without data.