在dc.js中为条形图设置binsize

时间:2016-06-30 16:21:06

标签: d3.js data-visualization dc.js crossfilter

我有一个患者数据集,每个患者都有一个年龄。

我有一个条形图,显示使用以下代码生成的患者年龄:

     /*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 个答案:

答案 0 :(得分:1)

这是组的值函数(map-reduce的“map”部分)。

您可以指定每个年龄段应该落在范围的低端,如下所示:

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

现在你将获得0,5,10等等的垃圾箱