我正在尝试使用嵌入API显示正在返回的数据的Google Analytics图表。我目前正在从3个不同页面返回数据,效果很好。但有没有办法在3个独立的图表中查看数据?
这是返回结果的代码
var query = {
ids: VIEW_ID,
metrics: 'ga:avgTimeOnPage,ga:bounceRate,ga:pageviews,ga:sessions',
dimensions: 'ga:date,ga:pagePath',
filters: ‘ga:pagePath=@page1, ga:pagePath=@page2, ga:pagePath=@page3’ <!—page data returned
}
var report = new gapi.analytics.report.Data({ query });
report.on('success', function(response) {
//console.log(response);
});
report.execute();
然后我想使用embed API显示3个不同的图表。并使用select&gt;在图表之间切换选项元素。在传递ID时,显示所有帐户,属性和视图。
var viewSelector = new gapi.analytics.ViewSelector({
container: 'view-selector-container'
});
// Render the view selector to the page.
viewSelector.execute();
var chart = new gapi.analytics.googleCharts.DataChart({
query: {
ids: VIEW_ID,
dimensions: 'ga:date',
metrics: 'ga:avgTimeOnPage,ga:bounceRate,ga:pageviews,ga:sessions',
filters: ‘ga:pagePath=@page1, ga:pagePath=@page2, ga:pagePath=@page3’ <!—page data returned
},
chart: {
type: 'LINE',
container: 'line-chart',
options: {
fontSize: 12,
width: '100%',
colors: ['#4490BA', '#38A240', '#BD5065', '#BB8A21']
}
}
});
chart.on('success', function(response) {
});
viewSelector.on('change', function(ids) {
chart.set({ query: { ids: VIEW_ID }}).execute();
});
以上内容会返回每个帐户,媒体资源和所有网站数据。我只想要3个不同页面的数据。这可能吗?
答案 0 :(得分:0)
好的,所以我设法自己解决了。
我有我的html元素,图表从Google脚本附加到
<div id="line-chart-1"></div>
<div id="line-chart-2"></div>
<div id="line-chart-3"></div>
然后我创建了一个添加页面URLS的数组。然后循环遍历数组X的次数,在这种情况下产生3个不同的图表;每页一个。
var valueArray = ['page1-url', page2-url, 'page3-url'];
for (var i = 0; i < valueArray.length; i++) {
var num = i + 1;
var chart = new gapi.analytics.googleCharts.DataChart({
query: {
ids: VIEW_ID,
dimensions: 'ga:date',
metrics: 'ga:avgTimeOnPage,ga:bounceRate,ga:pageviews,ga:sessions',
filters: valueArray[i]
},
chart: {
type: 'LINE',
container: 'line-chart-' + num,
options: {
fontSize: 12,
width: '100%',
colors: ['#4490BA', '#38A240', '#BD5065', '#BB8A21']
}
}
});
chart.on('success', function(response) {});
chart.execute();
}