2016-01-29 2 views
0

У меня есть набор данных со многими (тысячами) категорий. Я хочу показать диаграмму строк с верхними 15 категориями, но не могу понять, как это сделать. Без каких-либо фильтров по умолчанию диаграмма строк показывает каждую категорию на диаграмме, которая выглядит плохо. Я хочу показать только 15 лучших категорий, но на основе существующих фильтров crossfilter. Как это сделать, используя dc.js & crossfilter?Показать верхние n-результаты в диаграмме dc.js

В настоящее время моя функция измерения выглядит следующим образом:

const myCategoriesDimension = crossFilterData.dimension(
     (d) => { 
      return d.category; 
     }); 

И моя функция группы выглядит следующим образом:

const myGroup = myCategoriesDimension.group(); 

Моя строка диаграмма выглядит следующим образом:

categoriesChart 
     .width(1200) 
     .height(1200) 
     .dimension(myCategoriesDimension) 
     .group(myGroup) 
     .elasticX(true); 

ответ

3

Я думаю, что вы хотите .cap()

https://github.com/dc-js/dc.js/blob/develop/web/docs/api-latest.md#dc.capMixin+cap

Это не доступно для всех графиков, но доступно для диаграммы строк.

+1

Спасибо, это именно то, что мне нужно. Я добавил .rowsCap (15) и .othersGrouper (False) в мою инициализацию диаграммы, и она отлично работала. – Swaraj

+0

супер tip. Благодарю. Просто короткое замечание. Однако это должно быть '.othersGrouper (false)'. – klaas

Смежные вопросы