2013-01-09 202 views
1

我可以在初始選項對象中設置這些值,並且一切正常。如果我稍後使用chart.options.yAxis.tickInterval更改選項,它們在重繪yAxis時似乎會被忽略。如何動態更改HighCharts中的yAxis min,max和tickInterval

// Global variables 
var markInterval = undefined; 
var minInterval = 0; 
var maxInterval = undefined; 

chart = new Highcharts.Chart({ 
     // ... 
     yAxis: { 
      title: { 
       text: 'Mark' 
      }, 
      labels: { 
       formatter: function() { 

        // html formatting 
       }, 
       useHTML: true 
      }, 
      tickInterval: markInterval, 
      min: minInterval, 
      max: maxInterval 
     }, 
     plotOptions: { 
      series: { 
       events: { 
        legendItemClick: function(event) { 
         // setTickIntervals(); Change the global values markInterval, minInterval and maxInterval 
         chart.options.yAxis.tickInterval = markInterval; 
         chart.options.yAxis.min = minInterval; 
         chart.options.yAxis.max = maxInterval; 
         chart.redraw(); 
        } 
       } 
      } 
     } 
    }); 
+0

你如何重繪圖表,你可以放一些代碼嗎? – cubbuk

回答

9

我被錯誤地設置新的值,例如:

chart.options.yAxis.tickInterval = markInterval; 

應該然後一切正常

chart.yAxis[0].options.tickInterval = markInterval; 

+0

做不到,你能幫我一下嗎? http://jsfiddle.net/wJESU/1/ – igrek

+0

得到它的工作耶,想知道爲什麼不重繪工作:http://jsfiddle.net/wJESU/3/ – igrek

+1

我已經解決了tickPositions數組類似的問題按照Dale的說法更新yAxis.options,然後: 'chart.yAxis [0] .isDirty = true; '; – guidoman