2010-09-15 37 views

回答

4

您可以將xAxis類型設置爲'datetime',然後在plot選項中設置pointInterval和PointStart。

代碼示例:

var chart; 
$(document).ready(function() { 
    chart = new Highcharts.Chart({ 
     "xAxis": { 
      "type": "datetime" 

     "plotOptions": { 
      "line": { 
       "pointInterval": 86400000, 
       "pointStart": 1282408923000 
      } 
     }, 
    }); 
}); 

您pointInterval並開始看到的是您可以在其中生成使用getTime()的時間間隔,你的情況是86400000ms這爲一天millisecionds的數字。該庫根據您的數據間隔顯示適當的時間間隔。

+0

這些pointInterval和pointStart與「Series」選項中的pointInterval和pointStart有什麼不同? –

+0

說實話,我幾個月沒有看過highcharts,但是如果我沒有記錯的話,那是由於日期時間格式造成的,並且它會爲你計算間隔,而不是使用系列。希望有所幫助。 – Gazler

0

這裏是我的醜陋解決方案:)

我使用數組作爲隊列。 http://javascript.about.com/library/blqueue.htm 如果您將點數據填充到隊列中,則可以爲圖表系列設置數據。

var myQueue = new Array(); 
var myPoint = [x, y];          myQueue.push(myPoint); 
chart.series[0].setData(myQueue); 

my X axis is not a datetime, it's an integer 
first 
var x = 0; 

當你需要一個新的點時,x值應該總是遞增。 http://dl.dropbox.com/u/3482121/picture/highcharts/PM/Screenshot.png

+0

http://jsfiddle.net/sharavsambuu/WAtFK/這裏是樣本代碼 – sharavsambuu

4
xAxis: { 
     categories: categoriesname, 
     labels: { 
      style: { 
       color: '#000', 
       font: '9px Trebuchet MS, Verdana, sans-serif' 
      } 
     }, 
     **tickInterval: TickInterval,**// SET THIS 
     tickPixelInterval: 80, 
     tickmarkPlacement: 'on' 
    }, 
39

這似乎是X軸:標籤:步長值是應該用什麼來實現:

 xAxis: { 
      categories: ['JAN', 'FEB', 'MAR', 'APR', 'MAY'], 
      labels:{ 
       step: 2 // this will show every second label 
      } 
     }, 

Step Axis Labels

超級晚了,但我想這可以幫助別人出。

+0

這個特定的解決方案就像一個圖表的魅力,我開始在一個奇數年的日期時間xAxis(在這種情況下,1997年1月1日)。試圖調整tickInterval以顯示每隔一年結束於1996年開始的軸,該軸在我的圖表中沒有數據。這次真是萬分感謝! –