dc.js 将计数添加到 xAxis 标签

dc.js Adding count to the xAxis label

这与dc.jsboxPlot example有关。有没有一种简单的方法可以将数据值的数量添加到每个 xAxis 标签?

exp-1 [10]

我知道我可以通过以下方式配置 xAxis 标签:

chart.xAxis().tickFormat(function(k) {return k + ' []';});

但我只能访问键,不能访问值计数。

我会通过保持从键到计数的映射,在呈现或重绘图表之前刷新它来做到这一点:

var counts = {};
function get_counts() {
    speedArrayGroup.all().forEach(function(kv) {
        counts[kv.key] = kv.value.length;
    });
}
chart.on('preRender', get_counts)
    .on('preRedraw', get_counts);

现在我们确定 counts 在绘制轴时被初始化,我们可以在 tickFormat:

中使用它
chart.xAxis().tickFormat(function(k) {return k + ' [' + counts[k] + ']';});

标准示例不太有趣,但它有效: