隐藏系列时如何保持高图传奇“开启”

时间:2018-06-11 16:01:42

标签: javascript highcharts

我在高图中添加了一些虚拟系列,但我希望它们在任何时候都是不可见的,无论我是否点击它们的传说。

series.push({
    name: 'dummyPoint',
    fontFamily: 'Arial',
    data: [dummyPointX, dummyPointY],
    visible: false,
    showInLegend: true
})

上述代码的问题在于默认情况下图例显示为灰色,并且在点击图例时会显示虚拟对象。如何防止它在默认情况下变灰并始终保持虚拟点不可见?

2 个答案:

答案 0 :(得分:0)

您可以使用series.events.legend.itemClick - Api Documentation

执行此操作
  series: [{
    name: 'Point 1',
    color: '#00FF00',
    data: [1, 2.5, 3, 4, 3.2],
    visible: false,
    showInLegend: true,
    events: {
      legendItemClick: function() {
        return false;
      }
    }
  }

编辑:完全隐身的传奇 Updated Fiddle

答案 1 :(得分:0)

你可以做一个小技巧来实现它:创造一个幻象"系列没有数据,链接隐藏的系列。将为幻影系列生成图例项目,也将用于隐藏系列。然后在events.legendItemClick中禁用此项的默认操作:

  series: [{
    // Phantom series - created just to generate legend item
    name: 'Series 1',
    events: {
      legendItemClick: function(e) {
        e.preventDefault();
      }
    }
  }, {
    data: [3, 0],
    visible: false,
    name: 'Series 1',
    linkedTo: ':previous',
  }, {
    data: [1, 2],
    name: 'Series 2'
  }]

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

API参考: