highstock 图表中的错误。工具提示中的数据未定义

Error in highstock chart. Data is undefined in tooltip

我正在尝试构建一个 highstock 图表,其中我在 x 轴上有一组时间戳,在 y 轴上有一组数字。此外,数组中还有一些其他数据,我想在工具提示中显示这些数据。数据数组如下所示:

data=[
{
"ID": 9682533,
"PONumber": "100869279",
"y": 2,
"x": 1470196365449
 },
  ...];

工具提示格式化函数是:

tooltip: {

                formatter: function () {

                    console.log('inside formatter');
                    var s = '<b>' + Highcharts.dateFormat('%A, %b %e, %Y,  %H:%M:%S', this.x) + '</b>';

                    $.each(this.points, function () {
                        s += '<br/> ID:= <b>'
                            + this.point.ID
                            + '</b><br/> Completion time:= <b>'
                            + this.y
                            + ' secs</b><br/>'
                            + 'Purchase Order Number:= <b>'
                            +  this.point.PONumber
                            + '</b><br/>';
                    });

                    return s;

                }
            }

然而,当我绘制数据时,我得到的 ID 和采购订单编号的值未定义。但是,当我缩放数据时,我会在工具提示中看到正确的数据。 jsfiddle 在这里:http://jsfiddle.net/jayadrath/v8mLc8np/。解决这个问题的任何帮助都会很棒。

编辑: 一些回答和评论提到他们看不到问题。因此附上截图。

这是行不通的,因为 Highstock 只是从您的数据对象中检索和使用 x 和 y 值 + 您指的是不存在的 this.point。ID/PONumber。

这是 "this".

的 console.log(this) 输出

对象{x:1470196320000,y:2,点:数组[1]}

点:数组[1]

x:1470196320000

y:2

我也无法在您的 fiddle 上重现 - 工具提示显示并且控制台中未定义的工具提示值没有错误。

fiddle数据是全部数据还是只是样本?我想知道这个问题是否与在您的图表上启用 dataGrouping 并且有更多数据有关。如果 dataGrouping 已打开,则对您的 x/y 值进行了一些近似,并且可能没有将您的其他工具提示项目转移到该点。

尝试关闭 dataGrouping