如何从另一个系列或数据中获取值

时间:2016-05-11 07:00:05

标签: javascript highcharts

我正在寻找特定系列的定制工具提示。我已经尝试了多种方法使其工作但无法取得成功。 我在CodeIgniter PHP框架中使用AJAX获取数据。

目前我有多个系列。但我不想在图表中显示test1和test2。请考虑 X轴值10 以准确了解问题。

测试系列数据:

[["01",0],["02",0],["03",0],["04",0],["05",0],["06",0],["07",0],["08",0],["09",0],["10",2068]

Test1系列数据:

[["01",0],["02",0],["03",0],["04",0],["05",0],["06",0],["07",0],["08",0],["09",0],["10",1510.2568],["11",0]]

Test2系列数据:

[["01",0],["02",0],["03",0],["04",0],["05",0],["06",0],["07",0],["08",0],["09",0],["10",4097],["11",0]]

对于highcharts系列测试,test1,test2我的代码如下所示 response_data是一个变量,我在AJAX响应中获得了所有上述系列。

来自我的php页面的回复

{"test":[["01",0],["02",0],["03",0],["04",0],["05",0],["06",0],["07",0],["08",0],["09",0],["10",2068],["11",0],["12",0]],"test1":[["01",0],["02",0],["03",0],["04",0],["05",0],["06",0],["07",0],["08",0],["09",0],["10",1510.2568],["11",0],["12",0]],"test2":[["01",0],["02",0],["03",0],["04",0],["05",0],["06",0],["07",0],["08",0],["09",0],["10",4097],["11",0],["12",0]]}

图表:

tooltip: {
           formatter: function() {
            if(this.series.name=='Test'){
              var current_point=this.point.name;
              var test1=response_data.test1.current_point;
              var test2=response_data.test2.current_point;
              return "Test :"+this.y+"<br/>Test1 : "+test1+"test2 :+test2;
            }else{
             return this.series.name+': <b>'+this.y+'</b>';
            }  
           }            
          },
          series: [
              {
                name: 'Test',
                type: 'column',
                data: response_data.test
              },
              {
               name: 'test1',
               data: response_data['test1'],
               visible: false
              },
              {
               name: 'test2',
               visible: false,
               data: response_data['test2']
               }
          ]

点/ X轴10的输出:

Test:2068
Test1:1510.2568
Test2:4097

1 个答案:

答案 0 :(得分:2)

您拥有数组中的数据 - 您只需使用工具提示格式化程序中的this.x值来引用它们:

tooltip: {
  formatter: function() {
    return '<b>Category: </b>'+this.key
          +'<br/><b>Test: </b>'+ this.y
          +'<br/><b>Test1: </b>'+ test1[this.x][1]
          +'<br/><b>Test2: </b>'+ test2[this.x][1];
  }
}

小提琴示例: