如果结果为 0,是否可以删除/隐藏饼图的图例?
我有一个饼图,图例中有很多项目,如果进行了一些过滤,最好删除不可用的图例。
如有任何帮助,我们将不胜感激。
最佳答案
图例在重新绘制图表时会呈现,但这里的问题是图例是从数据中绘制的,crossfilter 不会自动消除空组。
如果图例是一种图表类型,那就太棒了,这样我们就可以使用一个假的组(又名“数据转换”)。但是不,我们需要更新 .legendables()
来过滤掉空箱:
dc.override(pieactChart, 'legendables', function() {
var legendables = this._legendables();
return legendables.filter(function(l) {
return l.data > 0;
});
});
你的 fiddle 叉:http://jsfiddle.net/gordonwoodhull/13t804u6/5/
注意:这只会修改一个(左)图表,您必须为每个图表复制/粘贴它(或将其包装在一个函数中)才能将其应用于其他图表。
[我非常固执地不想在图表中使用此类数据过滤功能,因此我不会建议将其作为一项功能。相反,图例应该是一个从另一个图表获取数据的图表,并且应该有一种方法来转换该数据。]
关于javascript - dc.js 饼图图例 - 如果结果为 0 则隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29371256/