下面是我在高图上的简单图表。一切似乎都很好,但只有问题我现在的数据只有两个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>
答案 0 :(得分:3)
我不知道你传递的是什么数据。通过它的声音,你只传递了两个数据点。您是否验证了查询是否正在提取您想要的数据?如果是这样,你可以在这里发布应该在高图中的数据吗?另外,你可以在这里发布在网页的视图源中生成的高图吗?
就xaxis标签而言,由于它们是日期时间格式,因此图表将以最适合的方式呈现它们。如果您不喜欢它们的渲染方式,您可以使用dateTimeLabelFormats控制图表的日期时间格式。您还可以使用tickInterval控制显示的日期间隔。