id:s_kandaさんのプログラムを元に、月別更新回数をグラフ化してみた
id:s_kandaさんが日記の月別更新回数をグラフ化されていたので、自分もやってみましたよ。
けどエクセルが無いのでデータからグラフが作れない!
ってことでCPANモジュールからグラフ化モジュールを探してみました。
使用したのはhttp://search.cpan.org/~mverb/GDGraph-1.43/Graph.pm:TITLE。
こちらのページを参考にしました。
どうやらGD::GRAPHはX軸とY軸のデータを配列に格納し、その配列リファレンスを与えればイメージを生成する模様。
そして参考ページGD::Graphを使ったPerlグラフ生成 | OSDN Magazineのコードを元に出来上がったのが以下のプログラム。
#!/usr/bin/perl use strict; use warnings; use GD::Graph::bars; my $input_file = 'data.txt'; open(INPUT, "<$input_file") or die "$input_fileを開けませんでした: $!"; my (@xLabels, @entry_counts); while (my $line = <INPUT>) { $line =~ /^(\d+),(\d+)/; push @xLabels, $1; push @entry_counts, $2; } my @data = ( \@xLabels, \@entry_counts ); my $graph = GD::Graph::bars->new( 800, 600 ); $graph->set( title => "http://d.hatena.ne.jp/ablabo/", y_label => "entry" ); my $image = $graph->plot( \@data ) or die( "Cannot create image" ); open( OUT, ">HatenaGraph.png") or die( "Cannot display image: $!" ); binmode OUT; print OUT $image->png( ); close OUT;
このプログラムにid:s_kandaさんのプログラムの実行結果をコピペしたファイルを$input_fileとして与えるとこんなイメージが出来上がりました。
見栄えはイマイチですが、フリーのCPANモジュールでグラフ生成できるのは嬉しいっすね。