当前位置: 代码迷 >> PHP >> 转帖:一分钟教会您用google图表中的曲线图和柱状图
  详细解决方案

转帖:一分钟教会您用google图表中的曲线图和柱状图

热度:25   发布时间:2016-04-28 22:09:55.0
转帖:一分钟教会你用google图表中的曲线图和柱状图

原文地址:http://2sitebbs.com/thread-671-1-1.html


毋庸置疑谷歌的图表api是非常棒的,
又非常稳定的且灵活的图表解决‘方案。

下面介绍一个简单的例子,
旨在为需要用到google图表尤其是它的曲线图(LineChart)和柱状图(ColChart)的朋友快速集成提供帮助。

迅速集成google图表的曲线图或柱状图的详细步骤如下:

1、第一步:把google的javascript api文件引入到你的网页中来;
在网页的html代码中加入如下代码:
<script src="https://www.google.com/jsapi"></script>
复制代码
注意:
此文件需在你的调用google图表的js代码前面引入。

2、第二步:引入曲线图和柱状图js封装函数代码到你的网页中来;
直接引入外部js文件:
<script src="http://usedcar/js/search-min.js"></script>
复制代码

或者把下面这个简单的封装函数加到你的js代码中去:
/**
* functions for chart
* --参数说明--
* sId: 用来展示google图标的标签的id名
* sType: 图表的类型,曲线图或者柱状图;可选值:col 和 line
* sTitle: 图表的标题
* oData: 图表数据,是个二维数组,第一个元素是x轴和y轴的标题,格式如:[['x轴数据标题', 'y轴数据标题'], ['xValue 1', 'yValue 1'], ...]
* max: y轴高度的最大值
*/
function showChart(sId, sType, sTitle, oData, max) {
    google.load("visualization", "1", {packages:["corechart"]});
    google.setOnLoadCallback(function () {
        var data = google.visualization.arrayToDataTable(oData);

        var options = {
            title: sTitle,
            width: 720,
            height: 200,
            chartArea: {left: 30, width: '98%', top: 25, height: '75%'},
            titleTextStyle: {color:'#666', fontSize: '14px'},
            curveType: "function",
            vAxis: {maxValue: max}
        };

        if (sType == 'line') {
            var chart = new google.visualization.LineChart(document.getElementById(sId));
        }else if (sType == 'col'){
            var chart = new google.visualization.ColumnChart(document.getElementById(sId));
        }
        chart.draw(data, options);
    });
}
复制代码

3、第三步:以php为例,拼装图表数据;
示例代码:
//给图表设置x轴和y轴的数据标题
$oDataCity = array(array('City', '均价/万'));
//$citys是一个从db查询出来的保存了多个城市数据的数组,它其中包含cityName和price两个字段
foreach ($citys as $key => $val) {
    $oDataCity[] = array($val['cityName'], $val['price']);
}
复制代码

4、第四步:把数据输出到js代码中,调用showChart()函数显示图表;
示例代码:
//准备参数
$sData = json_encode($oDataCity);
$chartType = 'col';
$chartTitle = '全国各大城市二手车热销品牌排行';
$maxXValue = 100;

//输出调用显示图表函数的js代码
echo <<<eof
<script>
(function(){
var sId = 'gchart',
    sType = '{$chartType}',
    sTitle = '{$chartTitle}';
  相关解决方案