Помогите новичку с передачей массива из 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, время: 03:30. |