Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Нужна помощ с google графиками (https://javascript.ru/forum/misc/59728-nuzhna-pomoshh-s-google-grafikami.html)

Dencho 23.11.2015 22:33

Нужна помощ с google графиками
 
Привет всем, нужна помощь в реализации графиков. Есть код
google.load('visualization', '1', {packages: ['corechart', 'line']});
google.setOnLoadCallback(drawBackgroundColor);

function drawBackgroundColor () {
    var data = new google.visualization.DataTable();
    
    data.addColumn('number', 'X');
    data.addColumn('number', 'Гкал');

    data.addRows([[10,20],[30,40],[50,80],[70,40]]);

    var options = {
        series: {
            0: {
                color:'#ff0000'
            }
        },
        height: 500,
        legend:'none',
        title: 'Динаміка споживання тепової енергії' + select_text + '\n за період з '+time_begin+':00 '+date_begin+'р. по '+time_end+':00 '+date_end+'р.',
        hAxis: {
            title: 'Час',
            textStyle: {color: '#6a7384',bold: true, fontSize:12},
            ticks: [{v:0, f:'0'}, {v:20, f:'02:00'},{v:40, f:'04:00'},{v:60, f:'06:00'},{v:80, f:'08:00'},{v:100, f:'10:00'},{v:120, f:'12:00'},{v:140, f:'14:00'},{v:160, f:'16:00'},{v:180, f:'18:00'},{v:200, f:'20:00'},{v:220, f:'22:00'},{v:240, f:'23:59'}]
        },
        vAxis: {
            title: 'Гкал',
            textStyle: {color: '#6a7384',bold: true, fontSize:12},
            ticks:[10,20,30,40,50,60,70,80,90,100]

        },
        backgroundColor: '#e8e8e8'
    };

    var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
    chart.draw(data, options);
}
, это стандартный код и он работает, тут данные статические и подставляются в (data.addRows). У данные меня выбираются с помощью ajax. Как мне сделать так чтоб при нажатие на кнопку у меня этот график отображался с выбранными данными? function GraphCreate() - функция которая висит на кнопке, Пробовал делать так
var graph = function (data_graph) {....} //drawBackgroundColor

var Create = function (graph)
{
google.load('visualization', '1', {packages: ['corechart', 'line']});
google.setOnLoadCallback(graph);
}
function GraphCreate()
{ 
var data_graph //данные ajax
Create(graph(data_graph);
}
, 100% делаю что-то не правильно, укажите на ошибку пожалуйста.

рони 23.11.2015 23:42

Dencho,
пришли данные запустили drawBackgroundColor (ваши данные)
изменив всего function drawBackgroundColor (d) {
....
data.addRows(d);
строку 2 из 1 сообщения запускать ненадо или с параметром
google.setOnLoadCallback(function() {
   drawBackgroundColor ([[10,20],[30,40],[50,80],[70,40]])
});



$.ajax({
  url: 'ajax/test.html',

  success: function(data){
    drawBackgroundColor (data);
  }
});

Dencho 24.11.2015 00:06

Спасибо, тупил и очень жестоко, всё получилось. :)


Часовой пояс GMT +3, время: 04:58.