将数据插入到Flot中

时间:2013-03-24 06:06:27

标签: javascript jquery mysql ajax flot

我很难在Flot图上显示数据数组。我正在使用jQuery Ajax / PHP / MySQL来做到这一点。

我是用这个PHP / MySQL创建的数组:

  $result = mysql_query("SELECT * FROM happiness");
  $array = array();
  while($row = mysql_fetch_array($result)) {
    $array[] = $row[3];
    $array[] = $row[2];
  }

  echo json_encode($array);

并通过jQuery Ajax将其传递给Flot,如下所示:

$.ajax({                                      
      url: 'receive-happiness.php',   
      dataType: 'json',                      
      success: function(data)          
      {
            var graph_data = [data];              
            alert(graph_data);
            $.plot($("#graph"), [graph_data], options);
      }
    });

当我提醒graph_data时,我明白了:

23,8,23,1,24,0,25,0,26,9,27,10,28,9

但是当我检查我的Flot图时,它只显示(23,8)处的单个数据点。出了什么问题?

1 个答案:

答案 0 :(得分:3)

您的图表数据应该是一组分组点坐标。

试试这个:

$result = mysql_query("SELECT * FROM happiness");
$array = array();
while($row = mysql_fetch_array($result)) {
  $array[] = array($row[3], $row[2]);
}

echo json_encode($array);

当您提醒图表数据时,它应如下所示:

[ [23, 8], [23, 1], [24, 0], [25, 0], [26, 9], [27, 10], [28, 9] ]

请参阅Flot Data format文档。