2016-06-30 2 views
0

私は、各患者の年齢のある患者のデータセットを持っています。dc.jsのbarchartにbinsizeを設定します。

私は次のコードで生成された患者の年齢を表示する棒グラフを持って次のように

 /*Age Bar Chart*/ 
      var ageDim = cf1.dimension(dc.pluck('leeftijd'));//define age dimension 
      var ageGroup = ageDim.group().reduceCount();//define age group 
      var ageChart = dc.barChart('#ageBarChart'); //link chart to DOM 
      ageChart 
      .dimension(ageDim) 
      .colors('#542788') 
      .group(ageGroup) 
      .x(d3.scale.linear().domain([15,75])) 
       .gap(1)//gap between bars 
       .xAxisLabel("Leeftijd in jaren") 
       .yAxisLabel("Aantal Patiënten"); 
       ageChart.render(); 

私の質問は:代わりに、どのように多くの人々を示すのになるように、どのように私は、binsizeを変更することができます43歳の年齢層には5人のグループの年齢が表示されます。したがって、40〜45歳の人の数が表示されます。

答えて

1

これは、グループの価値関数は( - 減らすマ​​ップの一部を「マップ」の一種)のためには何かということです。

あなたは、各年齢がこのような範囲の下端に落ちるように指定することができます

var ageGroup = ageDim.group(function(age) { 
    return Math.floor(age/5)*5; 
}).reduceCount();//define age group 

今、あなたは0、5、10のビンを買ってあげる、など

+0

しかしこれは動作しますバーの幅は小さいです、どうすれば2ティックの間にいっぱいになるのですか?私は今 –

+0

で0隙間が負隙間 –

+0

[xUnits(https://github.com/dc-js/dc.js/blob/develop/web/docs/api-latest.md#を使用してそれを修正しましたcoordinategridmixinxunitsxunits - function - coordinategridmixin)がバーの幅を制御します – Gordon

関連する問題