我有一些数据,想要创建一些动态图表。我已经看过谷歌可视化api ..它看起来很棒,但问题是我对它不是很熟悉。任何想法,如何从mysql数据设置data.setValue
。
<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感兴趣。
感谢。
答案 0 :(得分:2)
<强>更新强>
了解如何向图表添加数据。您可以add data in JSON。
您唯一需要做的就是准备相应的PHP数组。然后,您可以序列化此数组并设置数据。 E.g。
<?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 reference。我基本上只是通过搜索来找到这个......
如果没有进一步的信息,我们无法给出具体答案,但一般方法是:
假设您已经在结果集$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; ?>
答案 1 :(得分:0)
我建议使用http://pchart.sourceforge.net/ pchart进行制图。它完美地运作。