【问题标题】:How to suppress items with NULL value from HighCharts legend如何从 HighCharts 图例中抑制具有 NULL 值的项目
【发布时间】:2020-11-06 09:22:39
【问题描述】:

我创建了一个 HighCharts 圆环图。它将通过后端进程填充实时数据。但是,某些数据将具有“名称”,但“y”的值为 NULL。我想在传说中压制这些项目。 在此处查看示例小提琴:

  events: {
      load: function() {
        this.series.forEach(function(s) {
          s.data.forEach(function(d) {
            if (d.y === null) {
              d.setVisible(false)
              }
            });
          })
        }
    },

http://jsfiddle.net/x2sw6b4e/

这里,“Chrome”项的值为 NULL。

我已设法将相关项目设为灰色,但如何将其从图例中完全删除??

【问题讨论】:

    标签: highcharts


    【解决方案1】:

    您可以添加下面的小插件来过滤掉具有 null y 值的点。

    (function(H) {
        H.wrap(H.Legend.prototype, 'getAllItems', function(proceed) {
            var allItems = proceed.apply(this, Array.prototype.slice.call(arguments, 1));
    
            return allItems.filter(function(item) {
                return item.y !== null;
            });
        });
    }(Highcharts));
    

    现场演示: http://jsfiddle.net/BlackLabel/uLn4ya6r/

    文档: https://www.highcharts.com/docs/extending-highcharts/extending-highcharts

    【讨论】:

    • 看起来不错,谢谢!但是,我需要所有代码都在 Highcharts.chart('container', { 因为它在代码中的处理方式。如果我把你的函数放在 chart.events.load 那么它就行不通了。任何想法关于这个?
    • 嗨@Hans Wijnveen,请在此示例中检查适合您情况的解决方法:jsfiddle.net/BlackLabel/owzm0823
    猜你喜欢
    • 2014-12-17
    • 2014-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-18
    • 1970-01-01
    相关资源
    最近更新 更多