我正在寻找特定系列的自定义工具提示。在其中,我尝试了多种方法使其正常运行,但无法成功。
我在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
最佳答案
您将数据存储在数组中-您只需要使用工具提示格式化程序中的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];
}
}
小提琴的例子:
http://jsfiddle.net/jlbriggs/hh2g6urw/
关于javascript - 如何从另一个系列或数据中获取值(value),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37155282/