使用dc.js渲染行图表时丢失数据

问题描述 投票:1回答:1

我在创建dc.js行图时丢失数据。

  var ndx = crossfilter(data);

  var emailDimemsion = ndx.dimension(function(d) {
    return d.email;
  });

  var emailGroup = emailDimemsion.group().reduce(
    function(p, d) {
      ++p.count;
      p.totalWordCount += +d.word_count;
      p.studentName = d.student_name;
      return p;
    },
    function(p, d) {
      --p.count;
      p.totalWordCount -= +d.word_count;
      p.studentName = d.student_name;
      return p;
    },
    function() {
      return {
        count: 0,
        totalWordCount: 0,
        studentName: ""
      };
    });


  leaderRowChart
    .width(600)
    .height(300)
    .margins({
      top: 0,
      right: 10,
      bottom: 20,
      left: 5
    })
    .dimension(emailDimemsion)
    .group(emailGroup)
    .elasticX(true)
    .valueAccessor(function(d) {
      return +d.value.totalWordCount;
    })
    .rowsCap(15)
    .othersGrouper(false)
    .label(function(d) {
      return (d.value.studentName + ": " + d.value.totalWordCount);
    })
    .ordering(function(d) {
      return -d.value.totalWordCount
    })
    .xAxis()
    .ticks(5);

  dc.renderAll();

小提琴在这里,https://jsfiddle.net/santoshsewlal/6vt8t8rn/

我的图形如下所示:enter image description here

但我希望我的结果是>]

enter image description here

我是否以某种方式弄乱了reduce函数以忽略数据?

谢谢

我在创建dc.js行图时丢失了数据。 var ndx = crossfilter(data); var emailDimemsion = ndx.dimension(function(d){return d.email;}); var emailGroup = emailDimemsion.group()....

javascript dc.js crossfilter
1个回答
1
投票

不幸的是,使用交叉过滤器对dc.js图表​​有两个级别的排序。

© www.soinside.com 2019 - 2024. All rights reserved.