2013-10-14 36 views
1

我正在使用一個高圖來控制另一個。在設置chart.evetns.selection後,如果我縮小一個小區域,chart.yAxis.getExtremes不能返回正確的dataMax。但是,如果我再次點擊,則會返回正確的一個。任何建議,以避免這種情況?這裏是我的代碼:http://jsfiddle.net/tianhuidong/Jhupu/Highcharts的getExtremes函數不能返回正確的數據最大

$(function() { 
    $('#container1').highcharts({ 
     chart: { 
      events: { 
       selection: function (event) { 
        m1 = event.xAxis[0].min 
        m2 = event.xAxis[0].max 
        var chart1 = $('#container1').highcharts() 
        var chart2 = $('#container2').highcharts() 
        chart1.xAxis[0].setExtremes(m1, m2); 
        chart2.xAxis[0].setExtremes(m1, m2); 
       }, 
       click: function (event) { 
        var chart1 = $('#container1').highcharts() 
        var chart2 = $('#container2').highcharts() 
        xx = chart1.xAxis[0].getExtremes() 
        yy = chart1.yAxis[0].getExtremes() 
        alert(yy.min) 
        alert(yy.dataMax) 
        alert(yy.userMax) 
        alert(Object.keys(yy)) 
        chart1.xAxis[0].setExtremes(xx.dataMin, xx.dataMax); 
        chart1.yAxis[0].setExtremes(yy.dataMin, yy.dataMax); 
        chart2.xAxis[0].setExtremes(xx.dataMin, xx.dataMax); 
       } 
      }, 
      zoomType: 'xy' 
     }, 


     tooltip: { 
      crosshairs: true 
     }, 
     plotOptions: { 
      series: { 
       events: { 
        legendItemClick: function (event) { 
         var chart1 = $('#container1').highcharts() 
         var chart2 = $('#container2').highcharts() 
         //alert(Object.keys(chart1.series[0])) 
         chart2.series[0].hide() 
         //chart2.showResetZoom() 
         //alert(Object.keys(chart.resetZoomButton)) 



        } 
       } 
      } 
     }, 

     xAxis: { 
      categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec', 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] 
     }, 

     series: [{ 
      data: [29.9, 71.5, 186.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4, 29.9, 71.5, 186.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4] 
     }] 

    }); 
}); 

$(function() { 
    $('#container2').highcharts({ 
     xAxis: { 
      categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec', 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] 
     }, 

     series: [{ 
      data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 116.4, 194.1, 95.6, 54.4, 29.9, 71.5, 186.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4] 
     }] 

    }); 
}); 

回答