Crossfilter 行图表前 10 名

Crossfilter Row Chart Top 10

我正在尝试 return 使用 Crossfilter.js D3.js 和 DC.js 的前 10 个列表并显示在行图中。

HTML文件指向代码所在的js文件如下:

var Chart8 = dc.rowChart("#rChart8", "group1");

var People = ndx.dimension(function (d) {return d.datPeople;});
var People_Grp = People.group().reduceSum(function (d) { return d.datVal; });

Chart8.width(300)
                .height(530)
                .margins({top: 20, left: 10, right: 10, bottom: 20})
                .transitionDuration(750)
                .dimension(People)
                .group(People_Grp)
            .colors(ColourSet1)
                .renderLabel(true)
                .gap(1)
                .title(function (d) { return ""; })
                .elasticX(true)
            .xAxis().ticks(8).tickFormat(d3.format("s"));

任何人都可以帮助过滤它以仅显示价值前 10 名 (datVal) 吗? 我试过使用“.top(10)”,但显然遗漏了一些东西。

非常感谢

好的,所以我最终成功了。

为结果数量添加了一个变量:

selTop = 10

然后将其传递给group.top:

Chart8.data(function (group) { return group.top(selTop);});

使用变量 (10) 还可以让我动态调整图表的高度:

.height(selTop * 23)

已排序