Диаграмма Google из переменной Php

Я пытаюсь сделать диаграмму из диаграммы google goi, но я не могу получить свою переменную php в скрипте: я получаю пустую страницу.

PHP

$columns = array( array('string' => 'x'), array('number' => 'values'), array('id' => 'i1', 'type' => 'number', 'role' => 'interval'), array('id' => 'i1', 'type' => 'number', 'role' => 'interval'), array('number' => 'OtherValues'), array('id' => 'i1', 'type' => 'number', 'role' => 'interval'), array('id' => 'i1', 'type' => 'number', 'role' => 'interval') ); $test = array( array( 'a' => array(100, 90, 150,15,10,20)), array( 'b' => array(120, 95, 130,20,10,30)), array( 'c' => array(130, 105, 140,30,25,35)), array( 'd' => array( 90, 85, 95,40,35,45)), array( 'e' => array(70, 74, 63,50,45,55)), array( 'f' => array(30, 39, 22,60,55,65)), array( 'g' => array(100, 90, 150,15,10,20)), ); $table['cols'] = $columns; $table['rows'] = $test; 

Просмотр Html

 <div id="chart-lines"></div> <script> google.setOnLoadCallback(drawChart); function drawChart() { var data = new google.visualization.DataTable(<?php echo json_encode($table) ?>); // The intervals data as narrow lines (useful for showing raw source // data) var options_lines = { title: 'Line intervals, default', intervals: { 'lineWidth':2, 'barWidth': 0.5 }, legend: 'none', }; var chart_lines = new google.visualization.LineChart(document.getElementById('chart-lines')); chart_lines.draw(data, options_lines); } </script> 

Используя Google Javascript Console, я получаю сообщение «Uncaught Error: Invalid type: undefined» для каждого графика с этими подробностями:

 R.Osa R.ug (anonymous function) nj.(anonymous function).d Ep drawchart 

Структура данных неверна для конструктора DataTable API визуализации.

Правильный формат столбцов – это массив объектов столбца, где каждый объект имеет свойства type (обязательный), label , id и p (все необязательные). type – строка с возможными значениями string , number , boolean , date , datetime и timeofday . label и id – строки. p – объект свойств столбца.

Правильный формат строк – это массив объектов строки, где каждый объект имеет свойства c и p . c – массив объектов ячейки. p – объект свойств строки. Объекты ячейки имеют свойства v , f и p , где v – значение ячейки, f – значение ячейки в ячейке, а p – объект свойств ячейки.

Поддерживаемые свойства для всех объектов свойств различаются в зависимости от типа диаграммы, которую вы рисуете.

Используя функцию json_encode PHP, ассоциативные массивы преобразуются в объекты, а неассоциативные массивы превращаются в массивы. Соответствующая структура для вашей таблицы должна выглядеть примерно так:

 $columns = array( array('type' => 'string', 'label' => 'x'), array('type' => 'number', 'label' => 'values'), // each interval should have its own unique id, // but leaving them the same won't break anything for your chart as-is array('type' => 'number', 'id' => 'i1', 'p' => array('role' => 'interval')), array('type' => 'number', 'id' => 'i1', 'p' => array('role' => 'interval')), array('type' => 'number', 'label' => 'OtherValues'), array('type' => 'number', 'id' => 'i1', 'p' => array('role' => 'interval')), array('type' => 'number', 'id' => 'i1', 'p' => array('role' => 'interval')) ); $test = array( array('c' => array( array('v' => 'a'), array('v' => 100), array('v' => 90), array('v' => 150), array('v' => 15), array('v' => 10), array('v' => 20) )), // etc ); $table['cols'] = $columns; $table['rows'] = $test;