我有一个使用以下尺寸显示的饼图 -
var types = facts.dimension(function (d) {
if (d.types === 2)
return "Type 2";
else if (d.types === 3)
return "Type 3";
else
return "Other";
});
我不想返回,忽略所有其他类型,所以饼图只会显示Type 2和Type 3.虽然我确定它很简单但我似乎无法使用它。我可以在那个维度内做某事或者我之前需要过滤吗?
感谢您的帮助。
答案 0 :(得分:1)
您是否尝试过创建新类型,然后在其上创建维度?
facts.forEach(function(d) {
if (d.types == 2) {
d._type = "Type 2";
} else if (d.types == 3) {
d._type = "Type 3";
} else {
d._type = "Other";
}
});
var types = facts.dimension(dc.pluck('_type'))
答案 1 :(得分:1)
您需要(1)过滤您的数据,然后(2)将其从垃圾箱中删除。通过ensure_group_bins(myGroup)运行您的数据,您将获得您之后的图表
function remove_empty_bins(source_group) {
return {
all:function () {
return source_group.all().filter(function(d) {
return d.key != "unwanted" ;
});
}
};}
function ensure_group_bins(source_group, bins) {
return {
all:function () {
var result = source_group.all().slice(0), // copy original results (we mustn't modify them)
found = {};
result.forEach(function(d) {
found[d.key] = true;
});
bins.forEach(function(d) {
if(!found[d])
result.push({key: d, value: 0});
});
return result;
}
};};