怎样才可以有一个自定义的减少在我crossfilter组功能?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样才可以有一个自定义的减少在我crossfilter组功能?相关的知识,希望对你有一定的参考价值。

我在我的数据集的数字字段。我做的和仪表板经过一年,年龄对这个字段进行筛选,依此类推。事实是,这个字段是以上人口的样品的比例,因此,当我创建一个var ratesPerAge = ageDim.group().reduceSum(function(d) return +d.suicidesPercentage);每个记录的速率总结了自我使用.reduceSum()

我的目标是有类似平均每一次具有平均速率在过滤行。

我试图实现我想要使用此功能,我在另一个线程找到了解决办法。

var col1DimTotal = col1Dim.group().reduce(reduceAdd, reduceRemove, 
  reduceInitial);

function reduceAdd(p, v) 
  ++p.count;
  p.total += v.value;
  return p;


function reduceRemove(p, v) 
  --p.count;
  p.total -= v.value;
  return p;


function reduceInitial() 
  return count: 0, total: 0;

然而,这并没有达到我想要的东西。

这是我的速度dimension与另一个维度分组:

 var ratesDim = ndx.dimension(function(d) return 
 d.suicidesPercentage;);
 var ageDim = ndx.dimension(function(d) return d.age);  
 var ratesPerAge = ageDim.group().reduceSum(function(d) return 
 +d.suicidesPercentage); 

我想通过我选择行的平均速率进行过滤。

答案
I think I solved this and I managed to achieve what I wanted:
.
.
.
var yearDim  = ndx.dimension(function(d)  return new Date(d.year); );
function reduceAddAvg(p,v) 
    ++p.count
    p.sum += v.suicidesPercentage;
    p.avg = p.sum/p.count;
    return p;

function reduceRemoveAvg(p,v) 
    --p.count
    p.sum -= v.suicidesPercentage;
    p.avg = p.count ? p.sum/p.count : 0;
    return p;

function reduceInitAvg() 
    return count:0, sum:0, avg:0;


var ratesPerYear = yearDim.group().reduce(reduceAddAvg, reduceRemoveAvg, reduceInitAvg);

 yearChart // line chart
     .width(660)
     .height(400)
     .dimension(yearDim)
     .group(ratesPerYear).valueAccessor(function (d) 
          return d.value.avg;
      ) // this is the reference of the AVG
     .x(d3.scaleTime().domain([new Date("January 1, 1987 00:00"), new 
        Date("January 4, 2015 00:00:00")]))
     .elasticY(true)
     .controlsUseVisibility(true)
     .yAxisLabel("Rates over 100k people")
     .xAxisLabel("Year")
     .centerBar(true);

以上是关于怎样才可以有一个自定义的减少在我crossfilter组功能?的主要内容,如果未能解决你的问题,请参考以下文章

我怎样才能在我的自定义表格视图单元格上实现这个 UI

在 allennlp 中编写自定义指标

crossfilter.js & dc.js:对要使用的维度和事实的数量有限制吗?

请教Java怎样自定义函数

excel中怎样用vba使单元格在特定条件下才可以编辑?

sublime 中使用不了 python 自定义包