|
「PHP と JpGraph で人口ピラミッドを表示する」では棒グラフを扱ったが、同様に PHP と JpGraph を用い、急増している新型インフルエンザ患者数を折れ線グラフであらわすプログラムを作ってみる。 インフルエンザ患者数は日々変化しているので、公的機関が発表している患者数データを、外部ファイルから取り込むようにした。 なお、このプログラムのアウトプット(グラフ)は、「新型インフルエンザ関連情報」で利用している。毎週テキストファイル(CSV ファイル)にデータを追加するだけでグラフが更新されるようになっている。 |
サンプル・プログラム |
|
準備 |
|
| 「PHP と JpGraph で人口ピラミッドを表示する」を参考に、JpGraph と日本語フォントを準備する。 | |
患者データの入手 |
|
|
折れ線グラフに描くデータは、国立感染症研究所 感染症情報センターの「疾病毎定点あたり報告数」を利用する。 CSV 形式データとして提供されているので、Excel などで読み込み、インフルエンザの部分だけを取り出し、下記のような CSV データとして編集・加工する(最初のカラムに西暦年号数字をセットする)。 1999,8.86,20.3,33.56,33.86,27.16,22.67,20.95,20.96,19.2,14.95,11.71,5.47,,1.5,データは "influeza.txt" というファイル名で保管しておく。 |
|
解説:初期化処理 |
|
|
患者数の増減は折れ線グラフで描くが、読みやすいように、年によってグラフの色や太さを変えている。 色は RGB 各 8bit で配列変数 $PlotColor に、太さは配列変数 $PlotWeight にあらかじめ代入しておく。
0024: //折れ線グラフの色(年ごとに少しずつ色を変える) |
|
解説:データを配列に読み込む |
|
|
CSV データファイル "influenza.txt" を読み込むための関数が readData である。
この仕組みは「PHP で CSV ファイルを読み込む」で解説した通りである。
0057: /** |
|
解説:グラフを描く |
|
|
グラフの描画は JpGraph の機能を利用している。
まず、1 年分のデータを配列 $data_y に代入し、折れ線グラフを 1 本描く。 この作業を年数分繰り返すだけである。
0107: //折れ線グラフ |
|
参考書籍 |
|
|
|
参考サイト |
|
|
|
|
|
|
|
|
2010年01月28日 作成
2010年01月28日 更新
Copyright by studio pahoo, (C)2010
(※)本ページはリンクフリーですが、複製・転載時にはご一報ください。 ★本ページへのご意見・ご質問・お便りは、ここをクリックしてください。 |