轉帖:一分鐘教會你用google圖表中的曲線圖和柱狀圖

來源:互聯網
上載者:User
原文地址: http://2sitebbs.com/thread-671-1-1.html


毋庸置疑Google的圖表api是非常棒的,
又非常穩定的且靈活的圖表解決‘方案。

下面介紹一個簡單的例子,
旨在為需要用到google圖表尤其是它的曲線圖(LineChart)和柱狀圖(ColChart)的朋友快速整合提供協助。

迅速整合google圖表的曲線圖或柱狀圖的詳細步驟如下:

1、第一步:把google的javascript api檔案引入到你的網頁中來;
在網頁的html代碼中加入如下代碼:

複製代碼
注意:
此檔案需在你的調用google圖表的js代碼前面引入。

2、第二步:引入曲線圖和柱狀圖js封裝函數代碼到你的網頁中來;
直接引入外部js檔案:

複製代碼

或者把下面這個簡單的封裝函數加到你的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;
複製代碼

簡單四步就把google的柱狀圖整合到你的網頁中了。

兩個線上的樣本:
柱狀圖線上樣本: http://www.ruralusedcar.com/%E5%AE%9D%E9%A9%AC/#h1
曲線圖線上樣本: http://www.ruralusedcar.com/%E5%AE%9D%E9%A9%AC/city-%E6%B7%B1%E5%9C%B3/#h1

----歡迎轉載,轉載請註明原創出處,謝謝~----


回複討論(解決方案)

很好的文章學習了

不錯,收下了

https://www.google.com.hk/jsapi

https://www.google.com.hk/jsapi
引用之後頁面開啟速度很慢,怎麼解?

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.