@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);
    }


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

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

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

Войти через центр авторизации
Похожие вопросы