在 dc.js 中设置条形图的 binsize
Set binsize for a barchart in dc.js
我有一个患者数据集,其中每个患者都有年龄。
我有一个显示患者年龄的条形图,它是使用以下代码生成的:
/*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.
这就是组的价值函数的用途(类似于 map-reduce 的 "map" 部分)。
您可以像这样指定每个年龄应该落在范围的低端:
var ageGroup = ageDim.group(function(age) {
return Math.floor(age/5)*5;
}).reduceCount();//define age group
现在您将在 0、5、10 等处获得垃圾箱
我有一个患者数据集,其中每个患者都有年龄。
我有一个显示患者年龄的条形图,它是使用以下代码生成的:
/*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.
这就是组的价值函数的用途(类似于 map-reduce 的 "map" 部分)。
您可以像这样指定每个年龄应该落在范围的低端:
var ageGroup = ageDim.group(function(age) {
return Math.floor(age/5)*5;
}).reduceCount();//define age group
现在您将在 0、5、10 等处获得垃圾箱