Помогите новичку с передачей массива из PHP в JS для Google Chart
Доброго дня суток.
Помогите новичку с передачей массива из PHP в JS для Google Chart. Визуально рабочий код по ссылке: https://jsfiddle.net/w1mhpz1o/1/ //Вариант 1 - работает, но нужен второй вариант, а на нем тренд не отображается
google.load('visualization', '1', {packages: ['corechart']});
google.setOnLoadCallback(drawTrendlines);
function drawTrendlines() {
//Вариант 1 - работает, но нужен второй вариант, а на нем тренд не отображается
datA = [['Дата','Всего'],[01, 15],[2, 128],[03, 146]]; //Вариант 1
// datA = [['Дата','Всего'],['один', 15],['два', 128],['три', 146]]; //Вариант 2
var data = new google.visualization.arrayToDataTable(eval(datA));
var options = {
hAxis: {title: 'Time'},
vAxis: {title: 'Popularity'},
colors: ['#AB0D06', '#007329'],
trendlines: {0: {type: 'linear', opacity: .8, visibleInLegend:true, lineWidth:1, labelInLegend: 'тренд'}}
};
console.log(data);
var chart = new google.visualization.AreaChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
|
не совсем понятна проблема. Код по ссылке работает и для того и для другого варианта, что не так?
|
Здравствуйте!
В первом варианте нет линии тренда! И всё из-за того, "описания значений" в текстовом формате!!! Как это обойти - не знаю, судя по всему при расчете тренда, Гугл использует "описания значений" для расчета тренда как расчетную величину изменений. Можно конечно поставить 1, 2, 3 Но визуально хочется чтобы писалось 2014-01, 2014-02 Как это обойти, не понимаю, думаю - никак... :-E |
Всё, всем спасибо!
Решил проблему сам. Нужно всего лишь datA = "[['Date','All'],[new Date(2014, 01, 01), 15],[new Date(2014, 02, 01), 40],[new Date(2014, 03, 01), 120]]"; //version 3, all OK И всё строится нормально. |
| Часовой пояс GMT +3, время: 17:32. |