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)
已排序
我正在尝试 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)
已排序