Javascript 使用dc.js从条形图中删除空组
我在从条形图中删除空组时遇到一些问题 我的意图是从xAxis中删除空组(完全隐藏它们),并让条形图相应地缩放对象 阅读了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) {
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组
旨在成为您在图表初始化时本应传递给图表的组,一旦生成假组,则将其传递给图表。我知道我的错误所在。它源于我发现的一个类似主题的谷歌小组讨论()。最后的回答使我走错了路。谢谢你的快速回复