谷歌分析导入图表如何排序日期?

时间:2014-03-06 16:33:07

标签: javascript charts google-analytics

我在Google Analytics中注册了一个网站,并将其访问者数据导入网络。使用gapi库和Google图表API,我已成功导入并可视化数据。

问题是:图表没有按日期排序,它似乎是随机的。第一个节点是20Feb,第二个节点突然跳到24Feb(分别是25Feb,19,22,21),如下图所示:

enter image description here

enter image description here

这些数据在谷歌分析本身有效:

enter image description here

这是我绘制图表的代码:

<?php
            require('tools/gapi/gapi.class.php');

            $ga = new gapi(ga_email, ga_password);
            $ga->requestReportData(ga_app_id, array('date', 'userDefinedValue'), array('pageviews', 'uniquePageviews', 'visits', 'visitors'));
            $results = $ga->getResults();
        ?>

        <script type="text/javascript">
            google.load("visualization", "1", {packages:["corechart"]});
            google.setOnLoadCallback(drawChart);

            function drawChart() {
                var data = new google.visualization.DataTable();
                data.addColumn('string', 'Day');
                data.addColumn('number', 'Visits');

                data.addRows([
                    <?php
                        foreach($results as $result) {
                            echo '["'.date('M j',strtotime($result->getDate())).'", '.$result->getVisits().'],';
                        }
                    ?>
                ]);

                var chart = new google.visualization.AreaChart(document.getElementById('chart'));
                chart.draw(data, {width: 910, height: 250, title: '<?php echo date('M j, Y',strtotime('-30 day')).' - '.date('M j, Y'); ?>',
                    colors:['#058dc7','#e6f4fa'],
                    areaOpacity: 0.1,
                    hAxis: {textPosition: 'in', showTextEvery: 5, slantedText: false, textStyle: { color: '#058dc7', fontSize: 10 } },
                    pointSize: 5,
                    legend: 'none',
                    chartArea:{left:0,top:30,width:"100%",height:"100%"}
                });
            }
        </script>

        <div id="chart"></div>
        <div id="page-analytics">
            <div class="metric">Total page dikunjungi<br/><strong>{{ number_format($ga->getPageviews()) }}</strong></div>
            <div class="metric">Total page unik dikunjungi<br/><strong>{{ number_format($ga->getUniquePageviews()) }}</strong></div>
            <div class="metric">Total visit<br/><strong>{{ number_format($ga->getVisits()) }}</strong></div>
            <div class="metric">Total pengunjung<br/><strong>{{ number_format($ga->getVisitors()) }}</strong></div>
        </div>

有谁能告诉我解决方案是什么,所以图表可以按日期排序?感谢。

1 个答案:

答案 0 :(得分:0)

那个代码真的很旧,看起来自2009年以来没有人在该项目上开发。但是我在gapi.class.php中进行了一些挖掘,我找到了一个名为metric sort的引用。这对我来说听起来不对,因为如果您对维度或指标进行排序,那么当前版本的GA API中的排序并不重要。我不知道这是旧API需要的东西。看起来它是可以发送到requestReportData

的可选第四个值
  • @param String $ report_id
  • @param数组$维度Google Analytics维度,例如阵列( '浏览器')
  • @param Array $ metrics Google Analytics指标,例如阵列( '浏览量')
  • @param数组$ sort_metric可选:按类别排序的尺寸或尺寸。(' - visits')

我不确定这有多大的帮助,但我想用你更喜欢使用的东西:Visualizing Google Analytics Data with Google Chart Tools