gnuplot は GPL ライセンスのグラフ作成ソフトである。
% gnuplot
として kterm 内で作業する。
> plot sin(x)
とすると、グラフが現れる。ベキは ** で表す。
x**2 を描いてみよう。
気に入ったグラフができたら、
> save "グラフ.plt"
で保存する。
以前描いたグラフを呼び出すには、
> load "グラフ.plt"
とする。
> set terminal postscript
したあとに、
> set output "グラフ.ps"
として PS ファイルに変換して出力させることができる。
> set terminal png > set outout "グラフ.png"
で png ファイル型式に変換される。
実験データは、あらかじめどこかに入力しておく。 ここでは 米国 MIT、スウェーデンのウプサラ大学、筑波の KEK の計算機からの返事の速さを測定したデータで調べてみよう。
このようにして、3 つの場所について 3 回時間を変えて測定した。 それぞれ、{mit,uu,kek}i.txt (i=1,2,3), とする。 平均や標準偏差を求めるプログラムは readdata.rb とした。
それぞれの平均と標準偏差を求めたデータはこのようにまとまった。
### mit 17 213.388 4.601 ### mit 16 218.687 8.254 ### mit 20 214.967 4.795 ### uu 18 335.554 6.975 ### uu 21 331.614 3.197 ### uu 17 336.369 6.889 ### kek 14 26.810 5.563 ### kek 18 31.252 8.441 ### kek 21 30.690 8.379
次に、緯度から移動距離を計算してみよう。地球は球面なので、 球面上の距離の計算を行う。 本学(38.89N, 139.82E) から、 KEK(36.15N, 140.07) までは 360.5 km、 ウプサラ大学(59.53N, 17.38E) までは 7,801.7 km、 MIT(42:21N, 71:05W) までは 10,390.3 km と計算される。
これらのデータを使って、距離と接続の速さとに関係があるのかどうか、 グラフ化して調べてみよう。
コメントは # である。dtd10data.dat とする。
# MIT 10390.3 213.388 4.601 10390.3 218.687 8.254 10390.3 214.967 4.795 # UU 7801.7 335.554 6.975 7801.7 331.614 3.197 7801.7 336.369 6.889 # KEK 360.5 26.810 5.563 360.5 31.252 8.441 360.5 30.690 8.379
命令は、kterm で gnuplot を立ち上げ、
gnuplot> plot "dtd10data.dat" index 0:0 using 1:2:3 with yerrorbars, \ > "dtd10data.dat" index 1:1 using 1:2:3 with yerrorbars, \ > "dtd10data.dat" index 2:2 using 1:2:3 with yerrorbars
とする。1:2:3 は、データを右端から 1, 2, 3 と振り、横軸、縦軸、誤差とし、 データのブロックは 0:0, 1:1, 2:2 と表す。
データの名前をはっきりさせたいので、データを明示するには、
gnuplot> plot "dtd10data.dat" index 0:0 using 1:2:3 title "MIT" with yerrorbars, \ > "dtd10data.dat" index 1:1 using 1:2:3 title "UU" with yerrorbars, \ > "dtd10data.dat" index 2:2 using 1:2:3 title "KEK" with yerrorbars
軸の名前を明示するには
gnuplot> set xlabel "Distance [km]" gnuplot> set ylabel "Connection Speed [ms]" gnuplot> replot
とする。他のところも調べてみたらよいが、この 3 個所からの測定では、 接続の速さと地理的な距離には相関がなさそうであるし、 速さにばらつきはほとんど見られないようである。
gnuplot> set term tgif Terminal type set to 'tgif' Options are 'portrait [1,1] dashed "Helvetica" 18' gnuplot> set output "保存したいファイル名.obj" gnuplot> replot gnuplot> save "保存したいファイル名.plt" gnuplot> quit
直接 gs ファイルなどでもよいが、白黒になってしまうので、 カラーで保存したければ、tgif ファイルにしたあと、 tgif を使って保存するとよい。
本日のレポート課題 : (Subject: 第 11 回レポート「グラフソフト」)
宛先は
it-dtd-1211-rpt@e.koeki-u.ac.jpである。
どちらかひとつを選んで解答せよ