如何在highcharts中检测缩放事件?

时间:2012-09-07 19:05:04

标签: javascript highcharts

是否可以在Highcharts中检测缩放事件?我的用例是我在图表外部有一些状态,当用户放大部分状态时,我想检测x轴上新的时间范围是什么,并更新相应的外部状态。

3 个答案:

答案 0 :(得分:33)

您是否尝试过Highcharts API

你可能想看看@ xAxis.events.setExtremes 和/或 chart.events.selection

答案 1 :(得分:0)

您也想查看重绘事件。缩放时,将重新绘制图表以反映更改。 chart.events.redraw

events: {
    redraw: function(){
        console.log(this.xAxis);
        console.log(this.yAxis);
    }
}

答案 2 :(得分:0)

我找到了一种使用重绘全局事件的方法:

{
  redraw: function(event) {
    if (
      (event ? .target ? .axes[0] && event ? .target ? .axes[0].max !== event ? .target ? .axes[0].oldMax) || 
      (event ? .target ? .axes[1] && event ? .target ? .axes[1].max !== event ? .target ? .axes[1].oldMax)) {
        // Here you can be sure the this is closer to a zoom event... almost, because it also detect drag on the map :(
      }
  }
}

我只想把它留在这里,因为我决定使用其他东西,但我未来的自己可能需要它:D