2012-05-26 37 views
2

以下是我在高圖上的簡單圖表。一切似乎都很好,但只有問題我現在我的數據只有兩個2012-05-26 01:00:00,200和2012-05-26 02:00:00,300。 y軸顯示正常。但是在x軸上,時間從17:00開始到18:00結束,甚至沒有顯示日期。可能是什麼問題呢?高圖表日期時間轉換顯示錯誤值

<?php 
    define('DB_HOST', '*******'); 
    define('DB_USER', 'user1'); 
    define('DB_PASSWORD', 'test1'); 
    define('DB_DATABASE', 'db1'); 

$dbcnx = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD); 
mysql_select_db('db1'); 

$sql = "select unix_timestamp(datetime1) as datetime1, value1 from data"; 
$result = mysql_query($sql,$dbcnx); 
$data = array(); 
while ($row = mysql_fetch_array($result)) { 
    //extract $row; 
    //$datetime1 = $row['dateTime1']*1000; 
    $datetime = $row['datetime1']*1000; 
    //echo $datetime; 
    echo $row['value1']; 
    $val = $row['value1']; 
    // convert from Unix timestamp to JavaScript time 
    $data[] = "[$datetime, $val]"; 
} 
?> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
     <title>Highcharts Example</title> 

     <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
     <script type="text/javascript"> 
$(function() { 
    $(document).ready(function() { 
     //alert("TS"); 
     var chart = new Highcharts.Chart({ 
     chart: { 
     renderTo: 'container', 
       type: 'line', 
       marginRight: 130, 
       marginBottom: 25 

     }, 

     series: 
     [{ 
     data: [<?php echo join($data, ',') ?>] 
     }], 
     xAxis: { type: 'datetime'} 

    }); 
    }); 

}); 
     </script> 
    </head> 
    <body> 
<script src="js/highcharts.js"></script> 
<script src="js/modules/exporting.js"></script> 

<div id="container" style="min-width: 400px; height: 400px; margin: 0 auto"></div> 

    </body> 
</html> 

回答

3

我不知道你傳遞的是哪張數據。通過它的聲音,你只能傳遞兩個數據點。你確定查詢是否拉取了你想要的數據?如果是這樣,你可以在這裏發佈應該在高圖中的數據嗎?另外,你可以在這裏發佈在網頁視圖源中生成的高圖嗎?

就xaxis標籤而言,由於它們是日期時間格式,因此圖表會使它看起來更合適。如果您不喜歡渲染方式,則可以使用dateTimeLabelFormats控制圖表的日期時間格式。您還可以使用tickInterval來控制顯示日期的時間間隔。

+0

該數據是以mysql格式查詢,格式爲「2012-05-12 09:00:00」。我已經設法格式化,但是如同一天之間的間隔,是否有可能每隔12小時製作一次間隔? – user837306

+0

是的間隔可以設置爲每12小時。對於日期時間HighCharts使用毫秒。一小時內有3600000毫秒。如果軸被設置爲'type:'datetime''並且間隔被設置爲'tickInterval:43200000',那麼它將是12小時的間隔。 – Linger

+0

爲什麼是43200000?任何理由爲什麼不1800000? – user837306