2013-05-30 77 views
2

我有兩個滿數據的數組。一個數組只是隨機整數(例如1.7,2.8,3.4等),另一個數組是該數據的相應的unix時間戳列表(例如1366585199)。在x軸上定期渲染Highcharts數據時間

此刻我Highcharts代碼看起來有點像這樣:

dataArray = ("2.4","5.6","3.1", ...); 
timeArray = ("1366585199","1366585233","1366585355", ...) 

     function foo(dataArray, timeArray) { 
      $('#viz_1').highcharts({ 
       chart: { 
        type: 'line' 
       }, 
       title: { 
        text: 'Data Index' 
       }, 
       xAxis: { 
        type: 'datetime', // this isn't doing anything?? 
        categories: timeArray 
       }, 
       yAxis: { 
        title: { 
        text: 'Data Value' 
        }, 
       }, 
       series: [{ 
        name: topicID, 
        data: JSON.parse("[" + dataArray + "]") 
       }] 
      }) 
     }; 

這個工程,並呈現了曲線圖的頁面,但在X軸顯然是全程約50 Unix的時間戳!

我似乎無法弄清楚如何讓Highcharts API獲取Unix時間戳的數組,並用它來排列數據點,但只能定期在X軸上顯示人類可讀的日期?

回答

7

您不能混合使用'datetime'categories。 我希望將x/y值作爲成對發送到HighCharts。像:

data: [ 
      [Date.parse('01/01/2000 00:00:00'), 55205], 
      [Date.parse('01/01/2003 00:00:00'), 59091], 
      [Date.parse('01/01/2004 00:00:00'), 64347], 
      [Date.parse('01/01/2005 00:00:00'), 71067], 
      [Date.parse('01/01/2006 00:00:00'), 77770], 
      [Date.parse('01/01/2011 00:00:00'), 81166] 
     ] 

如果你有JavaScript的時間戳您可以在發送這些以及類似:

[31536000000, 456] 
+0

感謝您的信息! – AzzyDude