我有数据集,其中一些字段值是数组,我想使用 crossfilter 和 d3.js 或 dc.js 来显示这些值中的每一个在数据集中出现的次数的直方图。
这是一个例子:
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/
当我运行该代码时,它会生成如下图:
但我想要的是这样的:
为了让事情变得更加复杂,能够点击任何行并通过点击的标签过滤数据集会很棒。
任何人都知道如何实现这一目标?
谢谢, 科斯蒂亚