Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.04.2015, 15:56
Новичок на форуме
Отправить личное сообщение для savicus Посмотреть профиль Найти все сообщения от savicus
 
Регистрация: 07.04.2015
Сообщений: 4

Помогите новичку с передачей массива из 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);
}

Последний раз редактировалось savicus, 09.04.2015 в 01:46.
Ответить с цитированием
  #2 (permalink)  
Старый 13.04.2015, 19:24
Аспирант
Отправить личное сообщение для Georrg Посмотреть профиль Найти все сообщения от Georrg
 
Регистрация: 06.08.2014
Сообщений: 58

не совсем понятна проблема. Код по ссылке работает и для того и для другого варианта, что не так?
Ответить с цитированием
  #3 (permalink)  
Старый 14.04.2015, 11:46
Новичок на форуме
Отправить личное сообщение для savicus Посмотреть профиль Найти все сообщения от savicus
 
Регистрация: 07.04.2015
Сообщений: 4

Здравствуйте!
В первом варианте нет линии тренда!
И всё из-за того, "описания значений" в текстовом формате!!!
Как это обойти - не знаю, судя по всему при расчете тренда, Гугл использует "описания значений" для расчета тренда как расчетную величину изменений.
Можно конечно поставить 1, 2, 3
Но визуально хочется чтобы писалось 2014-01, 2014-02
Как это обойти, не понимаю, думаю - никак...
Ответить с цитированием
  #4 (permalink)  
Старый 14.04.2015, 13:54
Новичок на форуме
Отправить личное сообщение для savicus Посмотреть профиль Найти все сообщения от savicus
 
Регистрация: 07.04.2015
Сообщений: 4

Всё, всем спасибо!
Решил проблему сам.
Нужно всего лишь

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

И всё строится нормально.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
Помогите с JS кодом для телефона Ali6 Мобильный JavaScript 1 28.04.2011 17:46
Дописать JS и PHP валидатор для телефона 3-3-4 conductor3 Работа 1 11.05.2010 00:01
Что выбрать XML или JSON для передачи Ajax - ом из PHP в JS Gozar Общие вопросы Javascript 20 16.08.2009 23:36