javaI пытается создать линейную диаграмму с использованием API диаграммы Google. Я пытаюсь установить данные с помощью JSON для записи данных через пост AJAX.Создайте линейную диаграмму с помощью API диаграмм Google и JSON для DataTable
У меня есть версия, работающая для круговой диаграммы, но я не могу узнать, как это сделать для линейной диаграммы.
Ниже показано, как я создаю диаграмму с сообщением ajax.
function drawLineGraph()
{
$.post("loadGraph.php",
{
type: "line"
},
function (result)
{
var data = new google.visualization.DataTable(result);
var options = {
title: "Line Graph Test"
};
var chart = new google.visualization.LineChart(document.getElementById("lineChart"));
chart.draw(data, options);
}, "json"
);
}
Ниже приведен код для loadGraph.php
print json_encode(test());
function test()
{
$array = array();
if ($_POST['type'] == "line")
{
$array['cols'][] = array('type' => 'string');
$array['cols'][] = array('type' => 'number');
$temp = array();
$array['row'][] = array('v' => (string) "20-01-13");
$array['row'][] = array('v' => (int) 35);
$array['row'][] = array('v' => (string) "21-01-13");
$array['row'][] = array('v' => (int) 30);
}
}
Хотя не происходят ошибки, является своего рода отображается строка диаграммы, но нет ни одной строки, как если бы данные 0. Ниже скриншот как отображается карта
Ниже приводится вывод содержимого JSON.
{"cols":[{"type":"string"},{"type":"number"}],"row":[{"c":[{"v":"20-01-13"},{"v":22}]},{"c":[{"v":"21-01-13"},{"v":24}]},{"c":[{"v":"22-01-13"},{"v":27}]}]}
Благодарим за любую помощь, которую вы можете предоставить.
ОБНОВЛЕНИЕ Я попытался сделать то, что предложил @davidkonrad, но теперь у меня другая проблема. Я изменил определение строки для строк для массива PHP следующим образом:
$array['cols'][] = array('type' => 'string');
$array['cols'][] = array('type' => 'number');
$array['rows'][] = array('c' => "20-01-13");
$array['rows'][] = array('v' => 35);
$array['rows'][] = array('c' => "21-01-13");
$array['rows'][] = array('v' => 30);
Но теперь, когда график нагрузка я получаю Cannot read property '0' of undefined
, где должна быть отображена на графике.
Ниже как JSON теперь генерируется
{"cols":[{"type":"string"},{"type":"number"}],"rows":[{"c":"20-01-13"},{"v":35},{"c":"21-01-13"},{"v":30}]}
Я не могу видеть, как изменить массив, чтобы он соответствовал с JSON, что davidkonrad при условии
Не могли бы вы пожалуйста, напишите пример данных JSON, которые генерирует ваш PHP? –
@SergeyG Я добавил вывод JSON – Boardy