2016-02-18 70 views

回答

1

好問題。 dc.js沒有任何內容可以確定這一點,crossfilter也不提供任何getter。

然而,crossfilter實例通常對應於在dc.js.一個「圖表基」如果你想要的過濾器數量是一組全部互相交互的圖表,它們可能在同一個圖表組中。

可以計算在使用(newly documented)圖表組過濾器計數dc.js圖註冊表:

function chart_group_filter_count(chartgroup) { 
    return dc.chartRegistry.list(chartgroup) 
     .filter(function(chart) { 
      // exclude focus charts because they will be counted twice 
      return chart.filters().length && !(chart.rangeChart && chart.rangeChart()); 
     }).length; 
} 

如果您的圖表都在默認圖表組(只有一個參數構造的),那麼你就可以省略chartgroup參數。

這裏唯一棘手的事情是,我們明確地從計數排除焦點圖,因爲範圍圖和圖表的焦點將始終具有相同的過濾器,所以它會被計數兩次。

+0

謝謝。在我的情況下,這將沒有什麼區別,但我只想知道過濾器的數量是否> 0 – thg