使用dc.js绘制具有相同大小的饼图

时间:2016-12-09 09:45:35

标签: dc.js crossfilter

可能我的问题很愚蠢,但我需要使用dc.js绘制饼图,它有多年的碎片,但无论组数据都需要相同的大小。我将crossfilter.js中的数据组作为相同的值。但是我需要知道还有其他方法可以使用尺寸来获得具有相同尺寸的饼图吗?

1 个答案:

答案 0 :(得分:0)

我猜这不再是饼图了。但是,我建议使用"fake group"进行此操作。

首先继续为此创建一个组,即使我们不使用这些值,我们也会让crossfilter统一组。

var group = dimension.group();

然后产生一个“假组”,每次读取时,都会将所有值设置为1:

function all_equal_group(group) {
    function make_equal(kvs) {
        return kvs.map(function(kv) {
            return {key: kv.key, value: 1};
        });
    }
    return {
        all: function() {
            return make_equal(group.all());
        },
        top: function(N) {
            return make_equal(group.top(N));
        }
    };
}

如果您使用cappingtop功能就会出现。也许在这里不需要,但它不会受到伤害。

将它应用到您的图表中:

pieChart.group(all_equal_group(group));