我通常会用头撞墙,直到我可以利用互联网的集体智慧解决问题,但这次我被难住了。我希望有人能指出我在一夜无果的努力中犯下的愚蠢错误。
我正在尝试使用 Flotr 使用 MySQL 数据库中的数据生成图表。我已经很清楚了,但我似乎无法格式化 x 轴以显示实时时间。我可以毫无问题地获得 13 位 UNIX 时间 * 1000,但是当我尝试将模式:“时间”参数添加到我的 $.plot 语句时,我得到的只是一个空白图。我浏览器中的源代码看起来与我从 Flotr 示例中获得的源代码大致相同。所以这是我的 PHP 数据库查询:
# issue statement
$stmt = "SELECT T41,(UNIX_TIMESTAMP(tstamp)*1000) AS tstamp "
. " FROM tempLogExp ORDER BY tstamp DESC LIMIT 1440";
$sth = $dbh->query ($stmt);
while ($row = $sth->fetch (PDO::FETCH_BOTH))
{
$dServer[]=array(floatval($row['tstamp']),floatval($row['T41']));
}
$dbh = NULL; # close connection
?>
我的 Javascript 看起来像这样:
$(function() {
var d2 = <?php echo json_encode($dServer); ?>;
$.plot("#placeholder", [d2], {
xaxis: {
mode: "time"
}
});
// Add the Flot version string to the footer
$("#footer").prepend("Flot " + $.plot.version + " – ");
});
注释掉 'mode: "time"' 行将生成一个图形,但该行未被注释,如上所示,我只是得到一个杂色矩形。
我正在尝试绘制来自某些数据记录器的 24 小时数据的图表。如果能帮助我克服这个障碍,我将不胜感激。
谢谢,
弗兰克
最佳答案
我最终阅读了 Flot 文档,发现我忽略了“模式:“时间””选项工作所需的插件。包括“jquery.flot.time.js”解决了我的问题。
关于javascript - 使用 Flot、JSON 和 MySQL 的 X 轴日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20121714/