Javascript dc.js-显示值,而不是reduceSum或reduceCount
我有下面的数据结构,我以一些图表的形式显示信息。我想有一个时间图表,显示X轴上的天数和Y轴上该天的最大最小值Javascript dc.js-显示值,而不是reduceSum或reduceCount,javascript,dc.js,crossfilter,Javascript,Dc.js,Crossfilter,我有下面的数据结构,我以一些图表的形式显示信息。我想有一个时间图表,显示X轴上的天数和Y轴上该天的最大最小值 date type value min_val_day 01/12/13 10:00:00 A 10 10 01/12/13 12:00:00 A 20 10 02/12/13 10:00:00 A 15 15 02/12/13 11:00:00 A 28 15 我不
date type value min_val_day
01/12/13 10:00:00 A 10 10
01/12/13 12:00:00 A 20 10
02/12/13 10:00:00 A 15 15
02/12/13 11:00:00 A 28 15
我不想对值进行reduceCount或reduceSum,我希望结果是表中的实际值。因此,01/12/13将Y轴值显示为10,02/12/13将为15
我相信这很简单,但我无法理解它!这就是我现在使用的,它不正确,因为它是还原的
var mindayDim = facts.dimension(function (d) {return d3.time.day(d.date); });
var mindayDimGroup = mindayDim.group().reduceSum(function (d) { return d.min_val_day; });
谢谢你的帮助 假设您的意思是最大值,下面是一个示例:
priceGroup = priceDimension.group().reduce(
function (p, v) {
++p.count;
if(p.maxCompetitivePrice < v.competitive_price)
p.maxCompetitivePrice = v.competitive_price;
return p;
},
null,
function () {
return { count:0, maxCompetitivePrice: 0};
}
);
priceGroup=priceDimension.group().reduce(
功能(p,v){
++p、 计数;
如果(p.maxCompetitivePrice
传递给reduce的第二个函数为null,这将强制分组在reduce上重新计算整个数据集。对于我的小数据集,这是可以接受的,但应谨慎使用
另一种方法是存储某种排序的已排序javascript结构,并在添加和删除时维护已排序的结构。当您说“当天的最大最小值”时,您是指最大值吗?如果1月12日的min_val_day行中有10、15、20(而不是10、10)-您希望它返回20吗?如果是这样,我相信您将需要一个自定义reduce函数,它以某种方式存储排序后的值。你每天会处理很多记录吗?