php - 在 Chart.js 图表中从 Google Analytics 加载数据
问题描述
我的问题是:如何在 Chart.js 图表中从 Google Analytics 加载数据?
我正在使用 Laravel 框架(版本 5.6)编写程序并使用 Google Analytics API(不是 Google Analytics Embed API)(版本 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: {}
});
更新: 我如何获取分析数据的示例:
Route::get('/datatest', function()
{
$analyticsData =
Analytics::fetchTotalVisitorsAndPageViews(Period::days(30));
dd($analyticsData);
});
DD 数组示例:
解决方案
可能为时已晚,但对于有需要的人,请尝试以下方法。对于您的情况,您有 $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');
在您的脚本中,标签应在列表中接收 $dates,如下所示;
labels: {!! json_encode($dates) !!},
数据集中的数据接收 $visitors 作为列表;
data: {!! json_encode($visitors) !!}
有关更深入的解释,请参阅我网站上的这篇文章。
推荐阅读
- java - Maven & Eclipse 远程调试:连接被拒绝
- assembly - 如何在汇编语言中使用“调用 PutDec”?它应该打印出斧头寄存器,但由于某种原因它什么也没给我
- c# - NLog 可以从 C# 应用程序接收一个变量,其值在运行时发生变化吗?前任。批次 ID
- c# - 如何在 C# 中从 nuget 包部署 dacpac 文件
- actionscript-3 - 如果在同一位置或碰撞,如何删除同名的孩子?AS3
- python - 如何从python中的日期开始打印前30天,在Tkinter中打印相同的日期
- python - 尽管在模块和主代码中导入了 re,但未定义名称 re
- colorfilter - 去马赛克 RCCB 彩色滤光片阵列
- javascript - 无论光标或焦点在哪里,如何在 10 秒后关闭自动完成菜单?
- javascript - wavesurfer getPeaks 返回一个空数组