コマンドラインでファイルを指定し、グラフを描く

普段gnuplotを使っているのだが、いろいろと不便な点が生じてきたので、matplotlibで描画することもいつでもできるように準備する。
コマンドラインで複数のデータファイルを指定し、それらファイルの中から特定の列だけ抜き出して二次元プロットする。

以下、作成したread-hist.py。

import os
import sys
from pylab import *

filename = list()

temp1 = list()
temp2 = list()

if len(sys.argv) == 1:
    print "USAGE: % python read-hist.py HIST01 HIST02 ..."
    
for num in xrange(1, len(sys.argv)):
    input = open(sys.argv[num], 'r')
    L = input.readlines()
    input.close()

    for i in xrange(40, len(L), 10):  #事情により40行スキップする。
        temp1.append(L[i].split()[0]) # 一つ目のデータ
        temp2.append(L[i].split()[3]) # 二つ目のデータ

fig = figure()
ax = fig.add_subplot(111)
ax.plot(temp1, temp2, 'k', color='r', linewidth=2.0)
ax.autoscale_view()
fig.savefig('tempfig')
show()

コマンドラインで、% python read-hist.py HIST01 HIST02 ... として実行する。read-hist.py以降はファイル名を複数入力する。描画例は上図の通り。
軸にラベルを入れたり、線の色を変えるようにしたり、もう少し改良の余地あり。