Загрузить данные из Google Analytics в диаграмму Chart.js - PullRequest
0 голосов
/ 31 мая 2018

У меня такой вопрос: Как загрузить данные из Google Analytics в диаграмму Chart.js?

Я пишу программу с каркасом Laravel (версия 5.6) и используюAPI Google Analytics (не API Google Analytics Embed) (версия 3).

Я правильно представляю данные, представленные в массиве, но хочу показать их на графике.

Подвопрос: Нужно ли заменять данные в наборах данных подключением кGoogle Analytics API?

Простая диаграмма из Chart.js:

<canvas id="userChart"></canvas>
<script>
    var ctx = document.getElementById('userChart').getContext('2d');
    var chart = new Chart(ctx, {

    // The type of chart we want to create
    type: 'line',

    // The data for our dataset            
    data: {
        labels: ["dag 1", "dag 8", "dag 15", "dag 22", "dag 30"],
        datasets: [{
            label: "users",
            //backgroundColor: '#2f5ec4',
            borderColor: '#2f5ec4',
            data: [138, 163, 115, 124, 49],
        }]
    },
    // Configuration options go here
    options: {}
});

Обновление: Пример того, как я получаю данные Analytics:

Route::get('/datatest', function()
{
    $analyticsData = 
    Analytics::fetchTotalVisitorsAndPageViews(Period::days(30));
    dd($analyticsData);
});

Пример массива DD:

DD array

1 Ответ

0 голосов
/ 14 ноября 2018

Это может быть слишком поздно, но для тех, кто нуждается, попробуйте следующее.Для вашего случая у вас есть коллекция $ analyticsData, которая является хорошим началом.Chartjs использует списки для сопоставления и сравнения данных.Так, например, мы хотим видеть график даты против посетителей

//transfer all of this code out of the routes to your controller

$analyticsData = Analytics::fetchTotalVisitorsAndPageViews(Period::days(30));

//send these two variables to your view

$dates = $analyticsData->pluck('date');
$visitors = $analyticsData->pluck('visitors');

В вашем скрипте метки должны получать $ даты в списке следующим образом:

labels: {!! json_encode($dates) !!},

И данные внаборы данных получают $ посетителей в виде списка;

data: {!! json_encode($visitors) !!}

См. эту статью на моем веб-сайте для более подробных объяснений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...