@olololollloo

Как передать массив данных для построения графика на Google Charts?

Вот так гугл предлагает строить график:

google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(drawChart);

function drawChart() {
var data = google.visualization.arrayToDataTable([
    ['Mon', 20, 28, 38, 45],
    ['Tue', 31, 38, 55, 66],
    ['Wed', 50, 55, 77, 80],
    ['Thu', 77, 77, 66, 50],
    ['Fri', 68, 66, 22, 15]
    ], true);

    var options = {legend:'none'};
    var chart = new google.visualization.CandlestickChart(document.getElementById('chart_div'));
    chart.draw(data, options);
}


мне нужно передать массив, вот такое готовое решение я нашел на habr.com
jsfiddle.net/ys05376q

но оно не работает с моим типом графиков: CandlestickChart (свечи как на трейдерской бирже)
Как делаю я:
google.charts.load('current', {packages:['corechart']}); 
    google.charts.setOnLoadCallback(drawPieChart);

    function drawPieChart(){
        // позже тут я через AJAX буду заливать из БД данные, но пока вот так:
        var data =[
            ['Mon', 20, 28, 38, 45],
            ['Tue', 31, 38, 55, 66],
            ['Wed', 50, 55, 77, 80],
            ['Thu', 77, 77, 66, 50],
            ['Thu', 77, 77, 66, 50],
            ['Fri', 68, 66, 22, 15]
        ];
        drawChart(data);
    }
    function drawChart(data) {
        data = google.visualization.arrayToDataTable(data);
        var options = {};
        var chart = new google.visualization.CandlestickChart(document.getElementById('chart_div'));
        chart.draw(data, options);
    }


помогите, пожалуйста, решить проблему
  • Вопрос задан
  • 293 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Потеряли второй параметр для arrayToDataTable, должно быть

google.visualization.arrayToDataTable(data, true)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы