Google Visualization API を jQuery、JSONを用いて使ってみる
April 23, 2012 – 6:14 pm随分まえになるが、「WPのPost上でGoogle Visualization API のサンプルを動かしてみた」なるエントリを書いたことがある。ここでは、このAPIを jQuery、JSON を用いるかたちで使ってみた。
これにより、かなりすっきりとコーディングすることが可能になるとともに、データをAPIとは独立に与えることができることから、かなり使い勝手がよくなる。
なお、このエントリーを書くにあたっては、”Using jQuery, JSON and Goolge’s Visualization Geo API Together” を参考にしている。
JSONデータ: 以前のサンプルで描画した際に用いたデータと同一のデータを以下のように、 CompanyPerformance.js として作成し、これをブログサイトのルートディレクトリ上に配置しているディレクトリ data 上においた。
CompanyPerformance.json:
[
{
"Year": "2004",
"Sales": 760,
"Expenses": 400
},
{
"Year": "2005",
"Sales": 1170,
"Expenses": 460
},
{
"Year": "2006",
"Sales": 660,
"Expenses": 1120
},
{ "Year": "2007",
"Sales": 1030,
"Expenses": 540
},
{
"Year": "2008",
"Sales": 1090,
"Expenses": 720
}
]
JavaScript ソース:下記するSample_Google_Chart.jsを、ブログサイトのルートディレクトリ上に配置しているディレクトリ scripts 上に置いた。
Sample_Goolge_Chart.js:
// load visualization library
google.load('visualization', '1', {packages: ['corechart']});
$(document).ready(function() {
$.ajax({
type: "GET",
cache: false,
url: '/data/company_performance.json',
dataType: 'json',
success: function(data,dataType) {
if ( dataType="text") data=eval(data);
var chart_data = new google.visualization.DataTable();
chart_data.addRows(data.length);
chart_data.addColumn('string', 'Year');
chart_data.addColumn('number', 'Sales');
chart_data.addColumn('number', 'Expenses');
$.each(data, function(i,v) {
chart_data.setValue(i, 0, v.Year );
chart_data.setValue(i, 1, v.Sales );
chart_data.setValue(i, 2, v.Expenses );
});
var linechart = new google.visualization.LineChart(
document.getElementById('visualization'));
linechart.draw(chart_data, {width:400,height:240,is3D:true,title:'Company Performance'});
}
});
});
HTML: 次のような形式でGoogle Visualization API、描画のためのJavaScriptソースを定義しておく。これにより、下部に見られるような形式でチャートが描画される。
<script type="text/javascript" src="http://www.google.com/jsapi></script> <script type="text/javascript" src="/scripts/Sample_Google_Chart.js"></script> <div id="visualization"></div>
1 Trackback(s)