如何从highcharts访问数据中的自定义属性的值

时间:2014-11-11 03:51:45

标签: javascript arrays highcharts highstock

我的代码中有这个

    series: [{
      name: 'Velocidad',
      turboThreshold: 5000,
      data: (function() {
          // generate an array of random data
          var data = [],
              i;
          for (i = 0; i < valor; i++) {
              data.push({
                  x: dataUtc[i],
                  y: dataVel[i],
                  id: i
              });

          }
          return data;
      })(),
      tooltip: {
          valueDecimals: 0,
          valueSuffix: 'Kms/H'
      }
  }]

当我尝试获取最大值时,我只获得xy值。 我需要获得 id 值。 我该怎么办?

我尝试了以下内容:

var chart = $('#containerVelocidad').highcharts();

min = chart.xAxis[0].min;
max = chart.xAxis[0].max;

不幸的是,这没有帮助。

2 个答案:

答案 0 :(得分:0)

您需要获得id的最大/最小值吗?

如果有,请尝试chart.series[0].data[i].id。这是一个例子:http://jsfiddle.net/ez4hjazk/

答案 1 :(得分:0)

首先,使用yAxis.dataMax而不是yAxis.max。第二个是返回实际极端,有时你可能有不同的极端,而不仅仅是一个系列(缩放,设置极值,多个系列等)。

演示:http://jsfiddle.net/ez4hjazk/1/

代码:

    var max = chart.yAxis[0].dataMax,
        maxIndex = chart.series[0].yData.indexOf(max), //get index from yData, read more about .indexOf() !
        data = chart.series[0].data;

    // make sure point is within actual extremes
    if(maxIndex > -1) {
        console.log("max = " + max, 'id = ' + data[maxIndex].id);
    }