Это мой код, который я использую для столбцовой диаграммы перед новой версией Google Api, и она работает нормально. Теперь моя диаграмма не отображается. Я проверил новые изменения выпуска, но я заметил, что они относятся к ним. первая проблема возникает с типом данных в массиве, тип данных float не является законным, и если я заменил его каким-либо другим типом данных, тогда график все еще не отображается. если я изменил float на строку, тогда появится ошибка, что строковый тип данных не будет использоваться на оси X. Я построил время по оси X и по оси Y. Если кто-то знает, как изменить код в соответствии с новой версией Google Api, пожалуйста, поделитесь своим кодом или некоторой информацией.
$host=""; // Host name $username=""; // Mysql username $password=""; // Mysql password $db_name="mysql"; // Database name $tbl_name="gprs"; // Table name // Connect to server and select database. $con=mysql_connect("$host", "$username")or die("cannot connect"); mysql_select_db("$db_name")or die("cannot select DB"); $data = mysql_query("select SUM(Distance) as Distance, CAST( Time AS date) as Time from gprs where DeviceId=25 and Time between '2013-08-08' and '2013-09-31' group by CAST(Time AS date) order by CAST( Time AS date)") or die(mysql_error()); $table = array(); $table['cols'] = array( array('label' => 'TIME', 'type' => 'string'), array('label' => 'Distance', 'type' => 'float') ); $rows = array(); while ($nt = mysql_fetch_assoc($data)) { $temp = array(); $temp[] = array('v' => (string)$nt['TIME']); $temp[] = array('v' =>(float) $nt['Distance']); $rows[]['c'] = $temp; } $table['rows'] = $rows; $jsonTable = json_encode($table); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <title> Google Visualization API Sample </title> <script type="text/javascript" src="//www.google.com/jsapi"></script> <script type="text/javascript"> google.load('visualization', '1', {packages: ['corechart']}); </script> <script type="text/javascript"> function drawVisualization() { // Create and populate the data table. var data = new google.visualization.DataTable(<?=$jsonTable?>); // Create and draw the visualization. new google.visualization.ColumnChart(document.getElementById('visualization')). draw(data); } google.setOnLoadCallback(drawVisualization); </script> </head> <body style="font-family: Arial;border: 0 none;"> <div id="visualization" style="width: 600px; height: 300px;"></div> </body> </html>
Я решил эту проблему. Замените вышеупомянутый массив этим массивом ('label' => 'TIME', 'type' => 'string'), array ('label' => 'fuel', 'type' => 'number')
и этот $ temp [] = array ('v' => $ nt ['TIME']); $ temp [] = array ('v' => $ nt ['fuel']);
и не используйте Пакеты: columnchart теперь он заменен keychart в новом выпуске Api