2016-08-04 42 views
0

我正在尝试构建一个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 data issue

+0

亲爱的Kaushik,我不明白你的问题。我正在jsfiddle中尝试你的代码,我可以在工具提示中正确地看到ID和Puchase Order的值,而无需使用缩放。请你能详细解释一下这个问题吗? –

+0

添加了同样的屏幕截图 –

回答

2

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

是小提琴数据的所有数据还是只是一个样本?我想知道这个问题是否与图表上启用的dataGrouping有关,并且有更多的数据。如果dataGrouping处于打开状态,则会对您的x/y值进行一些近似处理,并且可能无法将您的其他工具提示项目转移到该点。

尝试关闭dataGrouping

+0

谢谢了。有效!! –

0

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

这里是“this”的console.log(this)输出。

对象{X:1470196320000,Y:2,点:数组[1]}

点:数组[1]

X:1470196320000

Y:2