Highcharts隐藏系列和保持工具提示

时间:2017-06-09 08:28:30

标签: javascript highcharts

我正在使用Highcharts api。 我想隐藏一些系列的曲线,但是在工具提示上继续显示所有系列的所有值。

例如:

series: [{
    name: 'Cat',
    data: [[1, 15], [2, 18], [3, 10]]
}, {
    name: 'Dog',
    data: [[1, 12], [2, 18], [3, 11]]
}, {
    name: 'Rabbit',
    data: [[1, 12], [2, 22], [3, 9]]
}]

我想隐藏Rabbit的曲线并将所有值保留在工具提示中。 如果我将鼠标指向第一个点(1),我必须看到这个值:     猫:15     狗:12     兔子:12

2 个答案:

答案 0 :(得分:1)

您可以使用series.hide()series.setVisible(false,false)来隐藏该系列。反过来,这将从工具提示中删除系列,因此您需要一个自定义工具提示格式化程序来显示隐藏的系列。 例如:

formatter: function () {
    var s = '';
    var series =  this.points[0].series.chart.series;
    var key = this.points[0].key;
    series.forEach((e,i) => {
        if(e){
            s += '<br/>' + e.name + ': ' +
            e.options.data[key] + 'm';
          }
        });
    return s;
}

以下是一个工作示例:http://jsfiddle.net/hcy6u4ya/

答案 1 :(得分:1)

可以使用series.graph.hide()或series.group.hide()隐藏系列图路径:

 function(chart) {
  chart.series[2].update({
    marker: {
      enabled: false,
      states: {
        hover: {
          enabled: false
        }
      }
    },

  })
  chart.series[2].group.hide();
}

实例: http://jsfiddle.net/ktjqbc7t/