在点击事件中,"this.x"是数据组中的第一个点。
使用滚动时会发生 data分组,例如,如果选择"显示所有数据",则每个点代表一周,但你有关于每天的信息,因此在此点中表示所有周而不是每天的信息。
¿如何点击数据组中的最后一个点?¿我可以得到这个组中表示的最后一个点吗(本周)?(周是一个例子,当你玩滚动分组数据时,可能会发生在非公共间隔
) plotOptions : {
series : {
point : {
events : {
click : function(event) {
alert(this.x + ' ' + this.y);
//HERE?
}
}
}
}
},
http://jsfiddle.net/JorgeDuenasLerin/QA2Qa/13/
经过深入的测试和几次实现和重新实现......结论。
您可以访问点变量。这是解决方案,因为它始终在屏幕中绘制点,并且在发生数据分组时无需更改即可访问它。
var point = event.point;
var points = event.point.series.points;
var index = points.indexOf(point);
var index_next = index+1;
这里有一个工作示例:http://jsfiddle.net/JorgeDuenasLerin/QA2Qa/88/
您不能使用 series.data 变量,因为它会根据裁剪阈值和数据数量而变化。
series.data
这里文档:http://api.highcharts.com/highstock#Series::data
没有简单的方法可以获取它,但您可以执行以下操作:
- 您有
this.x
值,现在循环this.series.options.data
并将 X 值与您的this.x
进行比较 - 该比较中的最后一个对象(
this.x > this.series.options.data[index][0]
)将是您要查找的点
您可以使用 this.series
访问单击事件中的系列数据
events: {
click: function (event) {
var last = this.series.data[this.series.data.length - 1];
alert(last.x + ' ' + last.y);
}
}
http://jsfiddle.net/38FmW/