我的FLOT数据出了什么问题?

时间:2016-02-28 23:07:14

标签: json flot

我的PHP工作正常,我似乎正在为FLOT找回正确的JSON数据,但我仍然得到一张空白图表: - /

这是PHP:

foreach($result as $row) { //or whatever
$dataset1[] = array((int) $row['INDX'], (int) $row['RUNTIME'] );
}
echo json_encode($dataset1);

以下是它返回的JSON示例: [[31,2303],[113,5697],[201,4485],[151,4404],[192,2668],[84,1082],[13,6003],[68,3628],[ 12,2115]

这是绘制函数:

$(function () {
     $.plot($("#dashboard_div"), apudata);
     console.log(apudata);
});

控制台日志显示正确格式化的JSON,如上所示。我可以从控制台日志剪切和粘贴到该函数的文字变量,它可以工作,但将JSON作为变量传递不会。

想法?帮助?

2 个答案:

答案 0 :(得分:0)

尝试使用以下代码。设置1000(ms)间隔,但通常需要更新图形。这是我之前在评论中发布的一篇文章的简单(非常轻微编辑)代码。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
      <head>
        <title>AJAX FLOT</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <script language="javascript" type="text/javascript" src="../../jquery.js"></script>
        <script language="javascript" type="text/javascript" src="../../jquery.flot.js"></script>
        <script language="javascript" type="text/javascript" src="../../jquery.flot.time.js"></script>
      </head>
      <body>
      <div id="placeholder" style="width: 100%;height: 600px;"></div>
      <div id="div" style="width: 100%; height: 100px;"></div>
        <script type="text/javascript">
    var options = {
      lines: {
        show: true
      },
      points: {
        show: true
      },
      xaxis: {
        mode: "time"
      }
    };
window.setInterval(function(){
    $.getJSON('http://localhost/data.php', function (csv) {

      dataOne = csv;

      var plot = $.plot($('#placeholder'), [dataOne], options);


    });
}, 1000);
    </script>
    </html>

答案 1 :(得分:0)

不确定它是否重要,但是flot文档说只是将选择器作为字符串传递给$.plot(),而不是jQuery对象。而不是

$.plot($('#dashboard_div'), apudata);

$.plot('#dashboard_div', apudata);