2013-11-28 107 views
0

我有一个使用ajax请求显示传感器数据的highstock图表。 每当xAxis发生极端变化时,我都会从服务器加载相关数据并显示它。 在页面上,我还有两个dateTime控件可以选择要从中观看数据的时间段的开始日期和结束日期。设置滚动的最大值和最小值xAxis值

现在我遇到了一个问题,即当我将开始设置为11/28/2012并结束到2012年11月28日,并且我滚动(最小范围为1天)时,用户可以滚动出所选范围我试图禁止。

我找不到任何可用的示例或解决方案。

我尝试设置chart.navigator.xAxis.min和最大,也试图设置chart.xAxis.min和最大但这是不工作...

看看自己的位置: http://carbocount.wikidot.com/project:products:visualization

回答

0

我设法解决这个问题,我自己。 在afterSetExtremes事件中,如果范围在所选时间段之间,我使用e.dataMine.dataMax检查了极值。它不是我重置极端:

 // if the user tries to zoom outside of the selected time period 
     // cancel the event and reset extremes 
     var extremesReset = false; 

     if (e.dataMin < plotStart.getTime()) { 
      e.dataMin = plotStart.getTime(); 
      extremesReset = true; 
     } 
     if (e.dataMax > plotEnd.getTime()) { 
      e.dataMax = plotEnd.getTime(); 
      extremesReset = true; 
     } 

     var chart = $('#plot').highcharts(); 

     if (extremesReset) 
      chart.xAxis[0].setExtremes(e.dataMin, e.dataMax); 
+0

它听起来不错,肯定你需要使用setExtremes() –