javascript - dc.js 饼图图例 - 如果结果为 0 则隐藏

标签 javascript dc.js

如果结果为 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/

相关文章:

javascript - Jest 的匹配器错误 : received value must be a function

javascript - 无法使用 twitter bootstrap 将焦点集中在 jQuery UI 模式内的文本框中

javascript - 热图矩形内的标签

charts - 如何使用dc.js移动x轴位置?

dc.js使用三列的最小值,最大值,平均值创建dataTable

javascript - 使用 CSS 和 JavaScript 对输入焦点上的标签进行动画处理

javascript - Chrome 扩展在 Background.js 中注册事件

javascript - 有没有办法通过单击外部来关闭 vue 组件?

单击第一个图表中的数据点时,dc.js 访问多个图表中的数据点

javascript - 堆积条形图 : By Type and Quantity