默認情況下,在Crossfilter維度上創建Crossfilter組時,組的大小將等於該維度中唯一值的數量。例如,如果我這樣做:如何減少Crossfilter組功能創建的存儲桶數量?
var array = [1,1,1,2,2,2,3,3,4,5,5,6,6,7];
var dimension = crossfilter.dimension(array);
var group = crossfilter.group(dimension);
// group.size() will equal 7, as group is a representation of dimension's unique values
這對創建直方圖和顯示維度分佈很有用。
但是,如果您有數百個獨特值,則使用該組進行直方圖變得不太實際,因爲您的直方圖條對於您的視圖幀而言變得太小,或者對於觀看者而言太小而無法辨別不像Crossfilter的例子,我使用矩形而不是路徑來更好地控制顏色)。
我想減少由crossfilter.group(維度)創建的可能的桶的數量,以便我將多個桶中的唯一值摺疊到另一個桶中。例如,如果我有一個包含300個獨特值桶的組,我希望能夠將該數目減少到20(假設現在甚至分裂),其中原始300的前15個值是摺疊成一個桶,下一個15到另一個,等等,直到從原來的300只創建20個桶。
我可以用javascript來做到這一點,但我需要保持粘貼到交叉過濾器對象。有沒有辦法用crossfilter方法做到這一點?
使用d3縮放功能很合理,謝謝! – dcochran