使用jQuery和Flot插件绘制图表 $(文档).ready(函数(){ //这里是图形脚本。 变量graphData=;

使用jQuery和Flot插件绘制图表 $(文档).ready(函数(){ //这里是图形脚本。 变量graphData=;,jquery,mysql,css,graph,flot,Jquery,Mysql,Css,Graph,Flot,大家好,我需要这里的帮助。我已经按照这里的教程进行了操作: 它工作得很好。我试图修改它,以便它可以从我的数据库中读取数据。正如您从上面的代码中看到的,我已经更改并添加了一些php行并修改了脚本。但是,它不工作,它会将奇怪的数据返回到我的图形中。请帮助。好的,您的数据存在一些问题 首先,日期/时间必须以JavaScript时间戳的形式提供;摘自: Flot中的时间序列支持基于Javascript时间戳, i、 e.无论何时预期或交付时间值,Javascript 使用时间戳编号。这是一个编号,不是日

大家好,我需要这里的帮助。我已经按照这里的教程进行了操作:


它工作得很好。我试图修改它,以便它可以从我的数据库中读取数据。正如您从上面的代码中看到的,我已经更改并添加了一些php行并修改了脚本。但是,它不工作,它会将奇怪的数据返回到我的图形中。请帮助。

好的,您的数据存在一些问题

首先,日期/时间必须以JavaScript时间戳的形式提供;摘自:

Flot中的时间序列支持基于Javascript时间戳, i、 e.无论何时预期或交付时间值,Javascript 使用时间戳编号。这是一个编号,不是日期对象。a Javascript timestamp是自1月1日起的毫秒数, 1970 00:00:00 UTC。这几乎与Unix时间戳相同,除了 它以毫秒为单位,所以记住乘以1000

其次,您的数据用引号括起来,这意味着它是作为字符串而不是数字传递的-这将阻止Flot正确绘制数据。来源:

当我使用JSON数据作为源时,Flot不工作

事实上,Flot喜欢JSON数据,你只是把格式弄错了 检查你没有输入字符串而不是数字,比如 [[“0”、“-2.13”]、[“5”、“4.3”]。这是最常见的错误,并且 错误可能不会立即显示,因为Javascript可以执行某些操作 自动转换

您应该能够通过生成如下数据来解决这两个问题:

 <?php

        while($row = mysql_fetch_assoc($sql))
        {
            $dataset1[] = array($row['dateReport'],$row['totalUniqueView']);
        }

        echo json_encode($dataset1);
    ?>

$(document).ready(function () {
    //Graph scripts here.

        var graphData = <?php echo json_encode($dataset1); ?>;

请发布json_encode($dataset1);[“2013-08-23”、“427”]、[“2013-08-24”、“679”]、[“2013-08-25”、“678”]、[“2013-08-26”、“1030”]、[“2013-08-27”、“1145”]、[“2013-08-28”、“1241”]、[“2013-08-29”、“1265”]、[“2013-08-30”、“1292”]非常感谢你…这真的很有帮助…我现在可以看到我的图表了…现在唯一的事情是我的日期搞乱了。我现在得到了这个…[[13772160000427],[1377302400000679],[137738880000678],[1377475200001030],[1377561600001145],[1377648000000124],[1377734400000125],[137782080000192]]“我的日期”格式为“2013-10-09”…图表必须以整数显示?谢谢..这是最后要解决的问题。哦,好吧..如果需要长数字,只需更改时间格式,将其添加到xaxis代码:
timeformat:“%d/%m”,
顺便说一句,如果你在做基于时间的图表,你需要包括
jquery.flot.time.js
javascript文件以及标准的flot.js文件啊,我忘了一件事!但是很好,我知道你很接近:)
    while($row = mysql_fetch_assoc($sql))
    {
        $dataset1[] = array(strtotime($row['dateReport']) * 1000, (int)$row['totalUniqueView']);
    }