1

我正在使用 Oocharts.com 的 API,并且正在制作一个 12 个月的时间线图表,但它显示了每天的每日数据点,而不是将它们组合成每月的金额。因此,我希望它显示每月 30 次访问,而不是每天显示 1 次访问。我怎样才能做到这一点?

这是他们文档的链接,我阅读了整个内容,但不知道如何执行此操作。我什至将日期范围从 1y 更改为 12m,但它没有做任何事情。

http://docs.oocharts.com/

4

1 回答 1

0

我通过使用 oocharts 查询 + google 的可视化 API 解决了这个问题。这是我显示过去 12 个月过滤结果的代码:

// What's our months?
$months = array();
for ($i = -12; $i < 0; $i++)
{
    $month_time = strtotime($i . ' months');
    $months[] = date('F Y', $month_time);
}

// Add js code to get unique page views for last year on a timeline chart
$oocharts_js .= '
    oo.load(function(){
        var query = new oo.Query("' . $this->config->item('oocharts_profile_id') . '", "13m");
        query.addMetric("ga:uniquePageviews");
        query.addDimension("ga:nthMonth");
        query.setFilter("' . $oochart_filter . '");
        query.setIndex(2);
        query.execute(function(data){
            console.log(data.rows);
            google.load("visualization", "1", {packages:["corechart"]});

            var dataTable = google.visualization.arrayToDataTable([
                ["Month", "Page Visits"],
';
foreach ($months as $key => $value)
{
    $oocharts_js .= '["' . $value . '", data.rows[' . $key . '][1]],';
}
$oocharts_js .= '
            ]);

            var options = {
                chartArea: {top: 10, left: 30, height: "60%"},
                hAxis: {
                    slantedText: true,
                },
                vAxis: {
                    viewWindow:{
                        min:0,
                    },
                },
                pointSize: 5,
                lineWidth: 3,
            };

            var chart = new google.visualization.LineChart(document.getElementById("chart_' . $business->business_id . '"));
            chart.draw(dataTable, options);
        });
    });
';
于 2014-07-14T19:04:38.713 回答