0

在单击事件中,“this.x”是数据组中的第一个点。

当你玩滚动时会发生数据分组,例如,如果选择显示所有数据,每个点代表一周,但你有关于每一天的信息,所以在这一点上表示整个星期的信息而不是每一天。

¿我怎样才能点击数据组中的最后一个点?¿ 我能得到这个组(本周)中代表的最后一个点吗?(周是一个示例,当您使用滚动分组数据时可能会以非常见间隔发生)

            plotOptions : {
                series : {
                    point : {
                        events : {
                            click : function(event) {
                                alert(this.x + '  ' + this.y);
                                //HERE?
                            }
                        }
                    }
                }
            },

http://jsfiddle.net/JorgeDuenasLerin/QA2Qa/13/

4

3 回答 3

3

After deep testing and several implementations and reimplementations... the conclusion.

You can access to the points variable. It is the solution because it always has the points draw in the screen and you can access it with no change when dataGrouping occurs.

var point = event.point;
var points = event.point.series.points;
var index = points.indexOf(point);
var index_next = index+1;

Here a working example: http://jsfiddle.net/JorgeDuenasLerin/QA2Qa/88/

You can not work with series.data variable because it change depending on cropThreshold and number of data.

series.data 

here doc: http://api.highcharts.com/highstock#Series::data

于 2013-10-11T15:45:29.530 回答
1

没有简单的方法来获取它,但您可以执行以下操作:

  • this.x有价值,现在循环this.series.options.data并比较x值与你的this.x
  • 该比较中的最后一个对象 ( this.x > this.series.options.data[index][0]) 将是您要查找的点
于 2013-09-19T13:17:55.013 回答
0

您可以使用 click 事件访问系列数据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/

于 2013-09-18T20:42:10.013 回答