crossfilter + dc.js // 维度组相互包含
crossfilter + dc.js // dimension groups containing each other
我有一个具有以下模型的数据源:
[
{
days : 3,
value : 500
},
{
days : 30,
value : 320
},
{
days : 4,
value : 330
},
{
days : 14,
value : 300
},
{
days : 44,
value : 300
}
]
我想创建一个 dc.js 散点图,显示三组(x 轴)的最小值、最大值和平均值(y 轴):全部、过去 10 天和最近 5 天。
到目前为止我已经创建了这个维度:
var daysGroupsDimension = data.dimension(function(d) {
if(d.days <= 5) {
return 'last 5';
} else if(d.days <= 10) {
return 'last 10';
} else {
return 'all';
}
})
但是当我对它进行分组时,它将数据分成三组,这并不是我想要的。
我觉得这不是处理它的正确方法,但我似乎找不到类似的方法。如果有人至少能为我指明正确的方向,那就太好了!
谢谢!
使用 Crossfilter 1.4 的数组维度概念将单个记录放入多个组中:https://github.com/crossfilter/crossfilter/wiki/API-Reference#dimension_with_arrays
var daysGroupsDimension = data.dimension(function(d) {
if(d.days <= 5) {
return ['last 5', 'last 10', 'all'];
} else if(d.days <= 10) {
return ['last 10', 'all'];
} else {
return ['all'];
}
}, true)
执行此操作,然后按此维度分组,您将得到 3 个组:'last 5'、'last 10' 和 'all'。 days
值 <= 5 的记录将计入所有 3 组,依此类推。
我有一个具有以下模型的数据源:
[
{
days : 3,
value : 500
},
{
days : 30,
value : 320
},
{
days : 4,
value : 330
},
{
days : 14,
value : 300
},
{
days : 44,
value : 300
}
]
我想创建一个 dc.js 散点图,显示三组(x 轴)的最小值、最大值和平均值(y 轴):全部、过去 10 天和最近 5 天。
到目前为止我已经创建了这个维度:
var daysGroupsDimension = data.dimension(function(d) {
if(d.days <= 5) {
return 'last 5';
} else if(d.days <= 10) {
return 'last 10';
} else {
return 'all';
}
})
但是当我对它进行分组时,它将数据分成三组,这并不是我想要的。
我觉得这不是处理它的正确方法,但我似乎找不到类似的方法。如果有人至少能为我指明正确的方向,那就太好了!
谢谢!
使用 Crossfilter 1.4 的数组维度概念将单个记录放入多个组中:https://github.com/crossfilter/crossfilter/wiki/API-Reference#dimension_with_arrays
var daysGroupsDimension = data.dimension(function(d) {
if(d.days <= 5) {
return ['last 5', 'last 10', 'all'];
} else if(d.days <= 10) {
return ['last 10', 'all'];
} else {
return ['all'];
}
}, true)
执行此操作,然后按此维度分组,您将得到 3 个组:'last 5'、'last 10' 和 'all'。 days
值 <= 5 的记录将计入所有 3 组,依此类推。