2013-03-21 53 views
0

我有一個圖表,其中我對x軸的日期時間和在y軸值(秒),如10,200或4500也能正常工作。Highcharts線性圖表與y軸顯示秒和分鐘

我需要的是類似的日期時間的行爲,當你有一個日期範圍這表明範圍之間的天,但如果範圍是非常小的,它顯示範圍之間的時間。我的要求是,我想這樣做,以秒爲相同的,但有一個數字,如果範圍是巨大的,如可能介於100和2500,它應轉換到幾分鐘,我現在已經是這樣的:

yAxis: { 
     title: { 
      text: 'Minutes', 
      margin: 10 
     }, 
     min: 0, 
     tickInterval: 60, 
     labels:{ 
      formatter: function(){ 
       var minutes = "" 
       if (this.value > 59){ 
        minutes = Highcharts.numberFormat((this.value/60), 0) 
       } 
       return minutes; 
      } 
     } 
    } 

這是偉大的60和500,但是之間範圍時的範圍較長,它吸引了很多線以顯示分鐘。

任何想法?我可以根據某些值更改tickInterval嗎?

我已經看到這個答覆Plotting seconds, minutes and hours on the yAxis with Highcharts,但我不希望處理該軸上的DateTime對象。

回答

0

如果可以的話,我真的會推薦使用內置的日期時間軸類型。它帶走了很多麻煩,比如你所問的問題。

失敗的是,您在查看tickInterval時處於正確的軌道上。你可以嘗試不指定tickInterval,並讓highcharts爲你做出決定。它通常會找到合理的東西。

如果不適合你很好地工作,那麼你將要看看你的數據範圍,並選擇一個合理的tickInterval自己。你可以使用一種算法是:

if (range < 500) 
    tickInterval = 60 
else 
    tickInterval = 120 

顯然,如果你的射程可以去更大,你可能需要有其切換tickInterval到300或更高的另一種情況。

+0

感謝您的信息,我會嘗試您的建議 – estemendoza 2013-03-22 17:59:24

+0

我基本上已經解決了將秒數據轉換爲分鐘數並將「minTickInterval」添加到1,這樣,顯示的數據少於一分鐘,但圖表不顯示顯示1以下的軸 – estemendoza 2013-03-22 18:12:47