Javascript 使用dc.js从条形图中删除空组

Javascript 使用dc.js从条形图中删除空组,javascript,dc.js,Javascript,Dc.js,我在从条形图中删除空组时遇到一些问题 我的意图是从xAxis中删除空组(完全隐藏它们),并让条形图相应地缩放对象 阅读了dc.js常见问题解答后,我发现了以下片段: var group = { all:function () { return _group.all().filter(function(d) { return d.value != 0; }) } }; 我添加了如下代码: BarChart.on("preRedraw", function(chart) {

我在从条形图中删除空组时遇到一些问题

我的意图是从xAxis中删除空组(完全隐藏它们),并让条形图相应地缩放对象

阅读了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();
我甚至还试着重新浏览图表


如果您对此有任何帮助,我们将不胜感激。

您只需在初始化图表时执行一次。这种伪组是动态计算的,不需要在每个绘制周期重置


换句话说,FAQ中提到的源
\u组
旨在成为您在图表初始化时本应传递给图表的组,一旦生成假组,则将其传递给图表。

我知道我的错误所在。它源于我发现的一个类似主题的谷歌小组讨论()。最后的回答使我走错了路。谢谢你的快速回复