1

我有一些数据,想创建一些动态图表。我看过 Google 可视化 api .. 看起来不错,但问题是我对它不是很熟悉。任何想法,我如何设置data.setValue来自 mysql 的数据。

  <script type='text/javascript'>
   google.load('visualization', '1', {'packages': ['geomap']});
   google.setOnLoadCallback(drawMap);

    function drawMap() {
      var data = new google.visualization.DataTable();
      data.addRows(6);
      data.addColumn('string', 'Country');
      data.addColumn('number', 'Popularity');
      data.setValue(0, 0, 'Germany');
      data.setValue(0, 1, 200);
      data.setValue(1, 0, 'United States');
      data.setValue(1, 1, 300);
      data.setValue(2, 0, 'Brazil');
      data.setValue(2, 1, 400);
      data.setValue(3, 0, 'Canada');
      data.setValue(3, 1, 500);
      data.setValue(4, 0, 'France');
      data.setValue(4, 1, 600);
      data.setValue(5, 0, 'RU');
      data.setValue(5, 1, 700);

      var options = {};
      options['dataMode'] = 'regions';

      var container = document.getElementById('map_canvas');
      var geomap = new google.visualization.GeoMap(container);
      geomap.draw(data, options);
  };
  </script>

我可以使用其他一些方法创建图表,但只是对使用 Google Visualization API 感兴趣。

谢谢。

4

2 回答 2

2

更新:

看看如何将数据添加到图表中。您可以在 JSON 中添加数据

您唯一要做的就是准备一个相应的 PHP 数组。然后你可以序列化这个数组并设置数据。例如

<?php 
// $data is an array and already has the correct structure...
$jdata = json_encode($data);

?>

<!-- later ... -->

<script type='text/javascript'>
   google.load('visualization', '1', {'packages': ['geomap']});
   google.setOnLoadCallback(drawMap);

   function drawMap() {
      var data = new google.visualization.DataTable(<?php echo $jdata ?>);
      var options = {};
      options['dataMode'] = 'regions';

      var container = document.getElementById('map_canvas');
      var geomap = new google.visualization.GeoMap(container);
      geomap.draw(data, options);
   };
</script>

我建议阅读文档/ API 参考。我基本上只是通过搜索找到了这个......


如果没有更多信息,我们无法给出具体答案,但一般方法是:

假设您已经从结果集中的数据库中获取了记录,$results那么您可以循环遍历它:

<?php foreach($results as $row): ?>

    data.setValue(<?php echo $row['column1']; ?>, <?php echo $row['column2']; ?>);
    // depends on what type of char you want to create, on your actual data etc.

<?php endforeach; ?>
于 2010-05-11T12:45:06.853 回答
0

我推荐http://pchart.sourceforge.net/ pchart 用于绘图。它完美地工作。

于 2010-05-11T12:41:55.703 回答