Javascript 将变量传递到工具提示的Highcharts

Javascript 将变量传递到工具提示的Highcharts,javascript,highcharts,Javascript,Highcharts,您好,我正在尝试使用setData将变量传递到工具提示 下面是我的一段代码,解释了如何设置图表数据,该代码尚未将sensorValue传递到我的工具提示: nitrogenDioxide = []; $.each(data['NO2'], function(key, value) { nitrogenDioxide.push([value.ts * 1000, value.rating]); }); chart_2_1.series[0].setData(nitrogenDioxide

您好,我正在尝试使用
setData
将变量传递到工具提示

下面是我的一段代码,解释了如何设置图表数据,该代码尚未将
sensorValue
传递到我的工具提示:

nitrogenDioxide = [];
$.each(data['NO2'], function(key, value) {
    nitrogenDioxide.push([value.ts * 1000, value.rating]);
});

chart_2_1.series[0].setData(nitrogenDioxide);
chart_2_1.series[0].update({name:'Nitrogen Dioxide'}, true);
以下是我用来创建工具提示的代码:

tooltip: {
        shared: true,
        useHTML: true,
        formatter: function () {
            var tooltipcontent = '<b>' + moment.unix((this.points[0].key / 1000)).format("DD/MM/YYYY HH:mm"); + '</b>';
            tooltipcontent += '<table style="width:100%">';

            $.each(this.points, function () {
                console.log(this);
                tooltipcontent += '<tr><td>' + this.y.toLocaleString() + '</td></tr>';
                tooltipcontent += '<tr><td>' + sensorValue + '</td></tr>';
            });

            tooltipcontent += '</table>';
            return tooltipcontent;
        }
    }
})

我尝试过类似的方法,但不知道如何在工具提示中调用此额外值:

nitrogenDioxide = [];
$.each(data['NO2'], function(key, value) {
    nitrogenDioxide.push([value.ts * 1000, value.rating, value.value]);
});
在上面的代码中,我已将传感器值推入
氮氧化物[]
阵列


我已经尽了最大的努力来解释我想做的事情,在我的头脑中,这个解释是有道理的,但是如果你不理解,请让我知道。提前感谢您的帮助。

我希望我正确理解了您的问题所在,下面发布的演示将对您有所帮助

当传递带有附加值的数组(在您的情况下为sensorValue)时,可以使用以下方法在格式化程序中检索该数组:

  • 获取悬停点索引:
    this.point.index
  • 使用点索引从
    this.series.userOptions.data
    数组中获取附加值
代码:

Highcharts.chart('container', {
  tooltip: {
    formatter: function() {
      var point = this.point,
        series = this.series,
        pointIndex = point.index,
        text,
        additionalValue;

      text = '<span style="color:' +
        this.color + '">\u25CF</span> ' +
        series.name +
        ': <b>' +
        this.y +
        '</b><br/>';

      additionalValue =
        series.userOptions.data[pointIndex][2];

      text += '<br> Additional value: ' +
        additionalValue;

      return text;
    }
  },
  series: [{
    data: [
      [1, 2, 'aaa'], // 'aaa' is an additional value
      [2, 5, 'bbb'],
      [3, 9, 'ccc']
    ]
  }],
});
Highcharts.chart('container'{
工具提示:{
格式化程序:函数(){
var点=此点,
series=this.series,
pointIndex=point.index,
文本,
附加值;
text='\u25CF'+
series.name+
': ' +
这个+
“
”; 附加值= series.userOptions.data[pointIndex][2]; text+='
附加值:'+ 附加值; 返回文本; } }, 系列:[{ 数据:[ [1,2,'aaa'],//'aaa'是一个附加值 [2,5,‘bbb’], [3,9,'ccc'] ] }], });
演示:

Highcharts.chart('container', {
  tooltip: {
    formatter: function() {
      var point = this.point,
        series = this.series,
        pointIndex = point.index,
        text,
        additionalValue;

      text = '<span style="color:' +
        this.color + '">\u25CF</span> ' +
        series.name +
        ': <b>' +
        this.y +
        '</b><br/>';

      additionalValue =
        series.userOptions.data[pointIndex][2];

      text += '<br> Additional value: ' +
        additionalValue;

      return text;
    }
  },
  series: [{
    data: [
      [1, 2, 'aaa'], // 'aaa' is an additional value
      [2, 5, 'bbb'],
      [3, 9, 'ccc']
    ]
  }],
});