gnuplotは 2次元、3次元のグラフを作成するソフトで、高機能でしかもフリーです。数値計算の結果や実験データをグラフで表示するときに役立ちます。
「gnuplot ホームページ」からダウンロードできます。sample も豊富にありいろいろ参考になります。最新バージョンでは日本語表記、動画での表示、繰り返し処理などが可能になっています。日々バージョンアップされているので、最新版をおすすめします。
gnuplot を起動すると下のような画面が表示されます。現バージョンでは日本語表記が可能ですがが、旧バージョンでは英語表記のみでした。
gnuplot> の後に次のようにコマンドを打ち込むと図が表示されます。
plot sin(x)
plot sin(x)+sin(10*x)
のように関数も表示できます。デフォルトではサンプル数が x 方向に100点と少ないのでカクカクしています。滑らかにするためにはサンプル数を多くする必要があります。
サンプル数を大きくすると滑らかに表示されます。
set samples 10000
plot sin(x)+sin(10*x)
関数を定義することもできます。
reset
set samples 10000
set xrange [-100:100] # xの範囲指定
set yrange [-2.5:2.5] # yの範囲指定
f(x)=sin(x)+sin(1.1*x) # 定義した関数
plot f(x)
動画も表示できます。
reset
set ter win
set samples 1000
set xrange [-100:100]
set yrange [-5:5]
do for [i = 0:200 ] {
t=i*0.5
plot 0.5*sin(x-t)+3 lc rgb "red" lw 2,\
0.5*sin(1.1*x-t)+1 lc rgb "blue" lw 2,\
0.5*sin(x-t)+0.5*sin(1.1*x-t)-2 lc rgb "black" lw 2
pause 0.01
}
reset
set ter win
set title "sphere"
set xrange [-5:5]
set yrange [-5:5]
set zrange [-3:3]
set dummy u,v
set angles degrees
set parametric
set view equal xyz
set view 60,136,2,2
set isosamples 24,24
unset xtics
unset ytics
unset ztics
set border 0
set urange [-90.0: 90.0] noreverse nowriteback
set vrange [ 0.0:360.0] noreverse nowriteback
set hidden nooffset
r1=1
r2=2
do for [i=1:180]{
splot r1*cos(u)*cos(v-2*i)+2*r2*cos(4*i),r1*cos(u)*sin(v-2*i)+2*r2*sin(4*i),\
r1*sin(u) notitle with lines lt 5 lc rgb "blue",\
r2*cos(u)*cos(v+0.5*i),r2*cos(u)*sin(v+0.5*i),r2*sin(u) notitle with lines lt 5 lc rgb "red"
}