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. 1 Trackback(s)

  2. Jul 27, 2014: Flot のマウスイベントをPost上で試してみた | Yama's Memorandum

Post a Comment