我在从barChart中删除空组时遇到一些问题。

我的意图是从xAxis中删除空组(以完全隐藏它们),并让barChart相应地缩放事物。

阅读dc.js常见问题后,我遇到了以下片段:

var group = {
 all:function () {
  return _group.all().filter(function(d) {
   return d.value != 0;
  })
 }
};


我添加了如下代码:

BarChart.on("preRedraw", function(chart) {
  group = chart.group();
  group2 = {
      all: function()
          { return group.all().filter(function(d) { return (d.value.wins+d.value.losses) > 0; } ) }
  };
 chart.group(group2);
})


这样做会导致在我使用的其他图表上出现1-2个过滤器后出现“太多递归”错误。

group2提供了正确的结果,但是似乎现有的钢筋并没有受到它的影响,或者看起来很怪异,从而导致钢筋存在间隙或其他缺陷。

我尝试在函数末尾添加,但没有成功。

BarChart.x(d3.scale.ordinal());
BarChart.xUnits(dc.units.ordinal);
BarChart.rescale();


我什至尝试重新绘制图表。

关于此事的任何帮助将不胜感激。

最佳答案

初始化图表时,您只需要这样做一次。这种伪造组是动态计算的,不需要在每个抽奖周期中重置。

换句话说,常见问题解答中提到的源_group是要在初始化时传递给图表的组,一旦生成了伪组,就将其传递给该组。

10-05 18:44