序数比例特定选择dc图表

时间:2016-01-11 06:33:36

标签: bar-chart dc.js ordinal

我正在绘制带有序数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(在底部查找序数条形图 - 从加利福尼亚开始,伦敦被排除在外但仍在后台)

是否有针对此问题的修复/或任何解决方法?任何方法/建议都将受到高度赞赏

1 个答案:

答案 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