【发布时间】:2014-11-11 01:51:09
【问题描述】:
我正在使用 crossfilter.js 库进行可视化,但我对如何从数据集中的嵌套属性创建一些维度感到有些困惑。例如,数据集的每个实例都有多个与之关联的日期,从而产生如下所示的数据结构:
[ { name: 'instance_name',
dates: ['2014-11-11', '2013-07-06', '2011-02-04'],
category: 'category 1' },
{ name: 'instance_name2',
dates: ['2012-01-01', '2013-03-07'],
category: 'category 2' } ]
我希望能够创建允许基于日期和类别进行过滤的维度,并且维度是使用交叉过滤器执行此操作的简单方法。但是,我不确定如何解析日期。我首先尝试使用以下方法创建日期维度:
var cf = crossfilter(data);
var dateDim = cf.dimension(function(d) { return d.dates; });
然后尝试使用.map() 方法将日期仅存储为变量,如下所示:
var date = dateDim.top(Infinity).map(function(d) { return d.dates; });
上面确实只检索日期并将它们存储为变量,但是(a)这只是一个日期数组,每个日期都是一个字符串,并且(b)这并没有让我更接近链接dateDim 到我想为可视化创建的其他交叉过滤器维度。任何帮助将不胜感激。感谢阅读。
【问题讨论】:
标签: javascript json d3.js nested crossfilter