我使用共享工具提示(http://api.highcharts.com/highcharts#tooltip.formatter),以便我可以遍历this.points
以将所有y值放入工具提示中:
if (this.points) {
$.each(this.points, function(i, point) {
console.log(i, point);
s += ......//use all the points to construct common tooltip,which has been done
});
//However, after shared tooltip, how can I get the highlighted point? I use `this` but it always point to the same one.
s += //need To know The highlighted point somewhere to construct the tooltip as well
}
在选择之前,系列将如下:
工具提示格式化程序中是否有任何方法可以知道选择了哪个点/索引?在下面的屏幕截图中,选择了蓝色的一个,我需要蓝点对象数据。
答案 0 :(得分:4)
请尝试使用默认工具提示,而不是使用共享工具提示:http://jsfiddle.net/2v0ya6d5/1/
代码:
tooltip: {
formatter: function () {
var series = this.point.series.chart.series, // get all series
index = this.point.series.xData.indexOf(this.point.x), // get index
str = '';
// default tooltip
$.each(series, function(i, s) {
str += 'The value for <b>' + s.data[index].category +
'</b> is <b>' + s.data[index].y + '</b><br>'
});
// "this" refers to the selected point:
str+= 'Selected point? x: ' + this.x + ' y: ' + this.y;
return str;
}
},
答案 1 :(得分:0)
你做错了。您不需要为此目的循环。如果您只需要一个点/数据对象,则可以使用this
。
循环points
用于检查垂直对齐的每个点(相同x
)。
在formatter
文档的链接上,您有另一个链接:
你可以看到这个例子,我认为这就是你要做的事情。