在后台的数据统计之中经常会使用到趋势图和数据统计图,下面就结合GOOGLE开发者上面的GoogChart类来整合了两种类型的统计图。
1、饼状图:
/**
* @todo 饼状图
* @param $title 饼状图标题
* @param $color 饼状图的颜色范围
* @param $data 饼状图展示数据
* @return $url 饼状图生成后的URL地址
* @example
* // Set graph data
$data = array(
'IE7' => 22,
'IE6' => 30.7,
'IE5' => 1.7,
'Firefox' => 36.5,
'Mozilla' => 1.1,
'Safari' => 2,
'Opera' => 1.4,
);
// Set graph colors
$color = array(
'#99C754',
'#54C7C5',
'#999999',
);
// Set graph title
$title='浏览器使用统计';
*/
public function pieChart($title,$color,$data){
$chartPath=Yii::app() -> request -> baseUrl.'/protected/extensions/chart/';
include($chartPath.'GoogChart.class.php');
$chart=new GoogChart();
$chart->setChartAttrs( array(
'type' => 'pie',
'title' => $title,
'data' => $data,
'size' => array( 400, 300 ),
'color' => $color
)
);
return $chart;
}
2、走势图
/**
* @todo 走势图
* @param $title 走势图标题
* @param $color 走势图每条线的颜色范围
* @param $data 走势图的数据
* @return $url 走势图生成后的URL地址
* @example
* // Set graph data
$data = array(
'2007' => array(
'January' => 31.0,
'February' => 31.2,
'March' => 31.8,
'April' => 32.9,
'May' => 33.7,
'June' => 34.0,
'July' => 34.5,
'August' => 34.9,
'September' => 35.4,
'Oktober' => 36.0,
'November' => 36.3,
'December' => 36.3,
),
'2006' => array(
'January' => 25.0,
'February' => 24.5,
'March' => 24.5,
'April' => 22.9,
'May' => 22.9,
'June' => 25.5,
'July' => 25.5,
'August' => 24.9,
'September' => 27.3,
'Oktober' => 27.3,
'November' => 29.9,
'December' => 29.9,
),
'2005' => array(
'January' => 15.0,
'February' => 14.5,
'March' => 14.5,
'April' => 12.9,
'May' => 12.9,
'June' => 15.5,
'July' => 15.5,
'August' => 14.9,
'September' => 17.3,
'Oktober' => 17.3,
'November' => 19.9,
'December' => 19.9,
),
);
// Set graph colors
$color = array(
'#99C754',
'#54C7C5',
'#999999',
);
// Set graph title
$title='浏览器使用统计';
*/
public function sparkLineChart($title, $color, $data){
$chartPath=Yii::app() -> request -> baseUrl.'/protected/extensions/chart/';
include($chartPath.'GoogChart.class.php');
$chart=new GoogChart();
$chart->setChartAttrs( array(
'type' => 'sparkline',
'title' => $title,
'data' => $data,
'size' => array( 600, 200 ),
'color' => $color,
'labelsXY' => true,
'fill' => array( '#f0f0f0', '#cccccc' ),
)
);
return $chart;
}
简单的几段代码就可以实现后台数据统计。