我试图使用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"));有人能帮助过滤这一点,只显示价值前十位(datVal)吗?我试过使用".top(10)“,但显然遗漏了一些东西。
非常感谢
发布于 2015-09-28 11:46:45
好吧,最后我终于做到了。
为结果的数量增加了一个变量:
selTop = 10然后将其传递给group.top:
Chart8.data(function (group) { return group.top(selTop);});使用变量(10)还允许我动态地调整图表的高度:
.height(selTop * 23)分拣
https://stackoverflow.com/questions/32223649
复制相似问题