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>
該數據是以mysql格式查詢,格式爲「2012-05-12 09:00:00」。我已經設法格式化,但是如同一天之間的間隔,是否有可能每隔12小時製作一次間隔? – user837306
是的間隔可以設置爲每12小時。對於日期時間HighCharts使用毫秒。一小時內有3600000毫秒。如果軸被設置爲'type:'datetime''並且間隔被設置爲'tickInterval:43200000',那麼它將是12小時的間隔。 – Linger
爲什麼是43200000?任何理由爲什麼不1800000? – user837306