WPのPOST上でGoogle Visualization APIのサンプルを動かしてみた

February 8, 2009 – 8:01 pm

1週間前のエントリー「プラグインrunPHPを導入してBMI計算用画面を作ってみた」で、ブログの投稿記事(POST)上でphpが動作できるようにしたという話を書いた。こうなると、POST上でJavaScriptが動作、できればGoogle Visualization APIが動作できればと思って、いろいろ試してみた。結果、Googleが提供しているサンプルが、POST上でも、簡単に動作することが分かった。

動作例: 何はさておきGoogle Visualization APIのExampleのひとつ「Bar Chart」を実際に動作させてみよう。以下の例、少なくとも、私のPC上(Widows-XP,Browser:IE7)では問題なく動作している。


POST内でJavaScriptを使うためには?: 上記のExampleを動作させるには、当然のことながら、POST上でJavaScriptが使えるようにしなければならない。このあたりのこと、WordPressのCodexに書いてあった(Using Javascript)。ここで述べられていることを私が理解した範囲でまとめると、POSTのなかにScriptを書き下さないで、JavaScript fileを作り、POSTから呼び出せばよろしいということのようだ。

JavaScriptファイルの作成: ブログツールを置いているディレクトリ上にscriptsなるディレクトリを作成し、この中にgoogle.jsと名づけたJavaScriptファイルを作成。このファイルの内容は、Exampleに示されているscript部分をそのままコピーしたもの。参考のために、その内容をそのまま示すと以下:

     google.load("visualization", "1", {packages:["barchart"]});
      google.setOnLoadCallback(drawChart);

      function drawChart() {
        var data = new google.visualization.DataTable();
        data.addColumn('string', 'Year');
        data.addColumn('number', 'Sales');
        data.addColumn('number', 'Expenses');
        data.addRows(4);
        data.setValue(0, 0, '2004');
        data.setValue(0, 1, 1000);
        data.setValue(0, 2, 400);
        data.setValue(1, 0, '2005');
        data.setValue(1, 1, 1170);
        data.setValue(1, 2, 460);
        data.setValue(2, 0, '2006');
        data.setValue(2, 1, 660);
        data.setValue(2, 2, 1120);
        data.setValue(3, 0, '2007');
        data.setValue(3, 1, 1030);
        data.setValue(3, 2, 540);
        var chart = new google.visualization.BarChart(document.getElementById('chart_div'));
        chart.draw(data, {width: 400, height: 240, is3D: true, title: 'Company Performance'});
      }
        

POST上での記述: POSTのエディターのタグを[HTML]にして、bar chartを配置しようとする位置に以下を挿入(上記の動作例の部分に下記が挿入されている):

<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript" src="/scripts/google.js"></script>
<div id="chart_div"></div>
        

これだけで、めでたくWordPressのPOST上で「動作例」に示したようなBarChartが書けた。実に簡単、私にとっては大きな前進だ。