d3.nest 汇总,其中键是一列的类别,向下钻取到另一列中的类别

d3.nest rollup where keys are the categories of a column drilled down to a category in another column

我想做一个汇总,键是水果 'banana' 的 'type'。

我有:

var fruit_cnt = d3.nest()
        .key(function(d) {
            return d.fruit === "banana";
        })
        .rollup(function(o){
            return d3.sum(o, function(d){
                return d.count;
            });
        })
        .entries(dataset)
        .map(function(d){
            return {type: d.key, count: d.value};
        });

我最终得到了键的真假值,但我希望键是 'Chiq' 和 'Mont'。

数据集:

[
    {
      "fruit": "banana",
      "type": "Chiq",
      "count": 1000
    },
    {
      "fruit": "banana",
      "type": "Mont",
      "count": 200
    },
    {
      "fruit": "watermelon",
      "type": "",
      "count": 100
    },
    {
      "fruit": "grape",
      "type": "",
      "count": 220
    }
  ]

您混淆了关键方法和过滤器:

var fruit_cnt = d3.nest()
        .key(function(d) { return d.type })
        .rollup(function(o){
            return d3.sum(o, function(d){
                return d.count;
            });
        })
        .entries(dataset.filter(function(d) { return d.fruit === "banana" }))
        .map(function(d){
            return {type: d.key, count: d.value};
        })