2015-08-26 51 views
0

我試圖返回使用Crossfilter.js D3.js和DC.js和顯示一行圖表中的前10名名單。Crossfilter行榜前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)篩選該只顯示前10名? 我嘗試過「.top(10)」,但我顯然錯過了一些東西。

很多謝謝

回答

1

好的,所以我設法最終到達那裏。

增加了一個變量的結果數:

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

使用變量(10)還可以讓我動態大小的高度:

selTop = 10 

然後通過這對group.top圖表:

.height(selTop * 23) 

排序