Jquery 如何使用crossfilter JS获取x轴上的数据和y轴上发生的次数?
我正在使用交叉过滤器获取x轴上的数据和y轴上发生的次数Jquery 如何使用crossfilter JS获取x轴上的数据和y轴上发生的次数?,jquery,d3.js,dc.js,crossfilter,Jquery,D3.js,Dc.js,Crossfilter,我正在使用交叉过滤器获取x轴上的数据和y轴上发生的次数 var data = [{ Owner: "Alyssa", ID: "A" }, { Owner: "Alyssa", ID: "A" }, { Owner: "Alyssa", ID: "A" }, { Owner: "Alyssa", ID: "A" }, { Owner: "Alyssa"
var data = [{
Owner: "Alyssa",
ID: "A"
}, {
Owner: "Alyssa",
ID: "A"
}, {
Owner: "Alyssa",
ID: "A"
}, {
Owner: "Alyssa",
ID: "A"
}, {
Owner: "Alyssa",
ID: "B"
}, {
Owner: "Bob",
ID: "A"
}, {
Owner: "Bob",
ID: "D"
}, {
Owner: "Joe",
ID: "A"
}, {
Owner: "Joe",
ID: "A"
}, {
Owner: "Joe",
ID: "D"
}, {
Owner: "Joe",
ID: "D"
}];
var dropdown_cross1 = crossfilter(data);
var x_owner_filter=dropdown_cross1.dimension(function (d){
for (var key in d)
{
if(d[key] == "D")
{
//console.log("selected_text="+selected_text);
//console.log('key=' + key + ' value=' + d[key]);
console.log(d[key]);
return d[key];
}
}
});
//x_owner_filter.filter("D");
var y_owner_filter = x_owner_filter.group().reduceCount();
var size=y_owner_filter.size();
console.log("size="+size);
var size_ownertitle = y_owner_filter.top(size);
console.log(size_ownertitle);
输出
输出必须是[对象{key=D,value=3}]
我是新手,不知道哪里有问题
下面是在浏览器控制台中查看输出
请参阅更新的如果您希望计算Ds,则这将是一个ID维度,简单地说:
var x_id_dim = dropdown_cross1.dimension(function (d){
return d.ID;
});
现在,Y值来自与标注关联的组:
var y_id_group = x_id_dim.group().reduceCount();
您可能还需要所有者维度,请单独创建该维度
我怀疑这里的混淆可能是维度的交叉筛选定义——它们实际上是指您想要在X和Y中存储和筛选的某个键,而不是维度。通常Y图表维度将来自组聚合。只需查看更新的JSFIDLE链接,并在浏览器控制台中查看输出即可。在其中,您可以选择Owner或ID之后,它将创建另一个具有相应值的下拉列表,之后,如果您选择任何ID或Owner,请在控制台中查看输出,我希望出现Owner或ID的次数。
var y_id_group = x_id_dim.group().reduceCount();