【问题标题】:Removing empty groups from barChart using dc.js使用 dc.js 从 barChart 中删除空组
【发布时间】:2014-07-15 08:29:02
【问题描述】:

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

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

阅读了 dc.js 常见问题解答后,我发现了这个 sn-p:

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();

我什至尝试重新渲染图表。

任何有关此问题的帮助将不胜感激。

【问题讨论】:

    标签: javascript dc.js


    【解决方案1】:

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

    换句话说,FAQ 中提到的源 _group 旨在成为您在初始化时会传递给图表的组,一旦您生成了假组,请将其传递给。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-17
    • 1970-01-01
    相关资源
    最近更新 更多