我有一些數據集,其中一些字段值是數組,我希望使用crossfilter和d3.js或dc.js來顯示每個數據集中存在多少次這些值的直方圖。有沒有辦法告訴crossfilter將數組的元素視爲單獨的記錄,而不是將整個數組視爲單個鍵?
下面是一個例子:
var data = [
{"key":"KEY-1","tags":["tag1", "tag2"]},
{"key":"KEY-2","tags":["tag2"]},
{"key":"KEY-3","tags":["tag3", "tag1"]}];
var cf = crossfilter(data);
var tags = cf.dimension(function(d){ return d.tags;});
var tagsGroup = tags.group();
dc.rowChart("#chart")
.renderLabel(true)
.dimension(tags)
.group(tagsGroup)
.xAxis().ticks(3);
dc.renderAll();
而且的jsfiddle http://jsfiddle.net/uhXf5/2/
當我運行的代碼,它產生的圖形是這樣的:
但我想是這樣的:
爲了使事情變得更加複雜,能夠點擊任何行並通過點擊標記過濾數據集將會非常棒。
任何人有任何想法如何實現這一目標?
感謝, 克斯特亞
jsfiddle你提供的是相當混亂,並與大量minifyied JavaScript。但是,謝謝,這當然是需要的。 – skmasq
我不得不將最新版本的crossfiler和dc.js加入小提琴中,以使其發揮作用。也許有更好的方法來添加這些外部資源。這是我第一次使用JS小提琴 –
真棒回答!你救了我! – dvreed77