我试图只使用存储在数组$date[]中的数据填充xaxis
这是我的编码;
<?php
// Main query to pull data from 'tests' table
$sql = "SELECT UNIX_TIMESTAMP(`date`)*1000 AS unixDate,`date`, `test1`, `test2`, `test3`, `test4`, `test5`, `test6`, `test7`, `test8`, `test9`, `test10`, `test11`, `test12`, `test13`, `test14` FROM `tests` WHERE member_id = '1' ORDER by `date` ASC";
$result = mysql_query($sql) or die ("no query");
// Dataset#1
while($row = mysql_fetch_assoc( $result )) {
$dataset1[] = array( $row['unixDate'], sprintf( "%.3f", $row['test1'] ));
$date[] = array($row['unixDate']);
}
?>
<div id="chart1Canvas" style="width:510px;height:200px;">
<div id="chart1" style="width:500px;height:200px;"></div></div>
<script type="text/javascript">
//START CHART#1
var dateArray = [ <?php echo json_encode($date); ?> ];
var chart1Options = {
xaxis: {show: true, mode: "time", timeformat: "%y-%m-%d", ticks: dateArray},
yaxis: {show: true, min: 1.000, max: 1.050, tickDecimals: 3 },
lines: {
show: true,
fill: true,
fillColor: { colors: [{ opacity: 0.2 }, { opacity: 0.2}] }
},
points: { show: true, radius: 1 },
grid: {
show: true,
color: '#fff',
backgroundColor: false,
borderWidth: 0,
hoverable: true,
clickable: true }
};
function getTooltip(label, x, y) {
return "Your sales for " + x + " was $" + y; }
var dataset1 = { data: <?php echo json_encode($dataset1); ?>, color: 'white'};
$.plot($("#chart1"), [ dataset1 ], chart1Options);
//END CHART#1
</script>
当我运行这整个xaxis磁盘时,我假设必须先将JSON_encode数组分配给xaxis的“ticks”选项,然后再将它分配给date[]数组。
有人能检查一下我在这里做错了什么吗?
谢谢。
编辑:改变了一些东西,现在它正在做一些事情,但仍然没有网格和标签的xaxis?
发布于 2014-01-06 02:30:52
您的dateArray
如下所示:
var dateArray = [ [["1367704800000"],["1367791200000"], ...
但它必须是这样的:
var dateArray = [1367704800000,1367791200000, ...
因此,删除javascript中的外部[ ]
,并将时间戳格式化为长in,而不是字符串数组(不确定如何在php
中这样做)。
有关更多信息,请参见文档。
发布于 2014-01-06 12:48:24
好的,在混乱的情况下,我设法让它用数组来显示正确的滴答,最后一个问题是让滴答均匀地排列出来;
https://stackoverflow.com/questions/20942361
复制相似问题