我正在绘制带有序数x轴的基本条形图和以y轴绘制的公制。现在,使用此post
可以很好地工作但是,现在我只想选择要显示的特定数据点。 例如:如果我的序数x轴有 - a,b& C。但是,我只需要展示 - b&角
问题:
当我只添加b& c使用以下代码在域中,即使a显示在后台。
代码:
.x(d3.scale.ordinal().domain(["b", "c"])) // Need the empty val to offset the first value
.xUnits(dc.units.ordinal)
我做了一个小提示来展示问题here
另一个提高可见度的地方是link here(在底部查找序数条形图 - 从加利福尼亚开始,伦敦被排除在外但仍在后台)
是否有针对此问题的修复/或任何解决方法?任何方法/建议都将受到高度赞赏
答案 0 :(得分:1)
我认为之前已经提出这个问题,但我无法通过快速搜索找到它。
这是你想要使用虚假组的东西,因为它正在改变数据的形状。 crossfilter组将表现正常,但会有一个介入对象拦截结果并移除特定的bin:
function remove_bins(source_group) { // (source_group, bins...}
var bins = Array.prototype.slice.call(arguments, 1);
return {
all:function () {
return source_group.all().filter(function(d) {
return bins.indexOf(d.key) === -1;
});
}
};
}
将它添加到您通常的crossfilter代码中,如下所示:
var ndx = crossfilter(...)
var dim = ndx.dimension(...)
var group = dim.group(...) ...
var filtered_group = remove_bins(group, 'a');
chart.dimension(dim)
.group(filtered_group)
...
https://github.com/dc-js/dc.js/wiki/FAQ#remove-particular-bins