15.18 データをグラフ化する

数値データがあるので、それを棒グラフ、円グラフ、折れ線グラフなどで表したい。

  • CPANのGD::Graph::*モジュールを使用する
use GD::Graph::lines;   # bars, lines, points, pie
$chart = GD::Graph::lines->new(480, 320);
$chart->set(
  x_label => $X_AXIS_LABEL,   # 円グラフには軸が無い
  y_label => $Y_AXIS_LABEL,
  title => $GRAPH_TITLE,
  # ... これら以外のオプションも設定できる
  );
$plot = $chart->plot($DATA_REF) or die $chart->error;
# PNG形式のイメージを表す$plot->pngを使用して、何らかの処理を行う
  • データ構造(各行には同じ数の値が含まれていなければならない)
$DATA_REF = [
  [ 1990, 1992, 1993, 1995, 2002 ],  # X軸の値
  [ 10, 15, 18, 20, 25 ],  # 1つめのデータセット
  [ 9, undef, 17, undef, 12],   # 2つめのデータセット
  # ...
];