2003年、阪神タイガース優勝への軌跡

Linux というか UNIX 系の OS というと、どちらかといえばサーバ系の用途 での利用が注目されているようですが、ここでは、文房具としての利用例を 紹介します。
今年こそ何かが起こるのではないかという予感があったので、春からこつこつ とこのような記録ce2003.datを採って来ました。 このファイルをスクリプト言語ruby を使って処理して、グラフ描画ツールgnuplot を使って遊んでみようと言う企画です。

このファイル ce2003.dat は、見てみれば見当は 付くと思いますが、今年の日本のプロ野球のセリーグの勝敗の記録です。 セリーグの "巨人", "ヤクルト", "中日", "阪神", "広島", "横浜" の各球団に "G", "S", "D", "T", "C", "B" の各文字を割り当てて、勝ち、負け、引き分け を "o", "x", "=" の文字で表しています。 例えば "To-Gx" の表記は、阪神対 巨人戦、阪神ホームのゲームで、阪神の勝ちを表します。
使い慣れたエディタがあれば、一日一行追加していくだけの作業ですので簡単 ですね。

さてこのデータをどのように使うかですが、例えば阪神の現在の勝ち数は、

$ grep "To" ce2003.dat|wc -l

で簡単に知る事が出来ます。負け数、引き分け数は、

$ grep "Tx" ce2003.dat|wc -l
$ grep "T=" ce2003.dat|wc -l

です。grep と wc は、とても基本的なコマンドですので、分からない人は各自で 勉強して下さい。

上記例では、ちっとも面白く無いのですが、Linux, UNIX 系のOSを多少でも触って いれば、テキスト処理を得意とする言語を使用すればもう少し気の効いた事が出来 そうに思える事でしょう。ここでは、ruby をつかってこのようなスクリプト count.rbを書いてみました。

$ ./count.rb < ce2003.dat > c.dat

このようにして作成した c.dat というファイルには、それぞれの日付の時点での 各チームの勝ち数、負け数、分け数 が入っています。これを元に、色々なグラフ を書いてみると良いでしょう。gnuplot のサンプルファイル plot では、横軸に日付、縦軸に、勝ち数と負け数の差、 いわゆる貯金をぷろっとします。これで作成されたグラフがこれです。
セリーグ6球団の貯金の遷移
このサンプルファイルは、実行すると "plot.png" という PNG形式の画像ファイル を出力しますが、

set term png
set output "plot.png"

を書き換える事で、Postscript ファイルで出力したりとか色々出来ます。X に 表示するのであれば、

set term x11

と変更します。この場合、一瞬だけグラフが表示されて、すぐにプログラムが 終了してしまいますので、一番最後に、

pause -1

を入れておけば [enter] キーを押すまでグラフが表示され続けます。

さて、阪神タイガースの優勝へのマジックも着実に減っている事ですので、 マジックの数字も計算できるように先程のスクリプトを変更してみます。 magic.rb を見て下さい。さすがに、複雑になって しまいました。使い方は同様で、

$ ./magic.rb < ce2003.dat > c.dat

ここで作成されたファイル c.datでは、7/8 のマジック 点灯以降では、行の一番右にマジックの数字が書かれています。 このファイルを利用して、6球団の貯金の遷移と共に阪神タイガースの マジックが減っていく様子を重ねてプロットするためのスクリプトが、 plot2 で、これで作成したグラフがこれです。
阪神タイガース優勝への軌跡

最後に、今後阪神タイガースが快進撃を続けてもこのページはたぶん更新されません。 各自で ce2003.dat に今後の戦績を書き加えて グラフを書いて下さい。

2003/09/11
ce2003.dat をアップデートしました。 lilo-ml での松永さんの御指導を反映してplot2 を更新しています。グラフの見栄えが 良くなっています。

set format x "%m/%d" # 横軸のフォーマット指定 00:00 は確かに情けなかった
set key left top # 各グラフのタイトル(ここではチーム名) を左上に移動します。この方が邪魔になりませんね。

magic.rb を更新しています。なんと、Copyright (C) が 追加されました。前のバージョンだと、引き分け数が極端に多いチームがあった りするとマジックの点灯条件の判断を誤ると思います。今度は大丈夫かなぁ?


このページに関する、ご意見、感想、苦情はこちらまで 松本 徳真 / matsu@netfort.gr.jp