Crossfilter.js:创建具有嵌套属性的维度/组
Crossfilter.js: Creating Dimensions/Groups With Nested Attributes
我正在使用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; });
然后尝试使用CCD_ 1方法将日期仅存储为变量,如
var date = dateDim.top(Infinity).map(function(d) { return d.dates; });
上面只检索了日期并将其存储为一个变量,但(a)这只是一个日期数组,每个日期都是一个字符串,(b)这并没有让我更接近于将dateDim
链接到我想为可视化创建的其他交叉过滤器维度。如有任何帮助,我们将不胜感激。感谢阅读。
我的建议是在将结构加载到Crossfilter之前先将其压平。因此,你的第一个记录将变成3个记录(每个日期1个),而你的第二个记录将成为2个记录。然后,您可以解析日期,并将它们视为Crossfilter中的维度,而不会遇到太多麻烦。缺点是计数是一个问题,但使用自定义分组函数是可以管理的。
相关文章:
- 如何使用javascript获取嵌套对象中所有子对象的单个属性
- 设置嵌套对象属性的更好方法
- 从嵌套函数访问函数属性
- Javascript嵌套函数属性继承
- 访问嵌套 json 对象的属性将返回未定义
- 从嵌套对象属性中获取排除某个值的最高值
- 访问键中包含空格的嵌套属性
- 如何将id数组与带下划线的对象数组嵌套属性进行比较
- 正在检查对象javascript中是否存在嵌套属性
- 传递数量不确定的可能嵌套的对象属性
- 更新JavaScript对象中的嵌套属性
- 搜索具有特定属性集的非嵌套节点
- 如何使用get()获取嵌套的Scope属性
- 使用 jQuery 传递的 Rails 嵌套属性
- 如何迭代json对象的嵌套属性并创建新的数组列表
- 访问嵌套对象中父对象的属性
- HTML5嵌套数据-*用Javascript解析的属性don't返回嵌套对象
- 如何获得"src”;来自多个嵌套iframe源的属性
- Javascript对象/名称空间-如何访问从嵌套函数添加的属性(包括示例)
- 未定义的属性嵌套的 JavaScript 对象