はじめに
pngでファイル保存する方法を説明します。これができるようになると、pythonなどと組み合わせて自動でグラフ生成ができるようになります。また、このグラフを使ってgif動画を作ることもできます。gifの作り方は別の記事で紹介します。
png出力のためのスクリプト
png出力のために必要なスクリプトは以下の通りです。
set terminal png #terminalにpngを指定。
set output "test.png" #画像ファイルを"test.png"に出力。
plot 'data' ......... #プロット
これだけなので、非常に簡単です。
変数を使って、データファイルを指定すると、データファイル名と画像ファイル名をリンクさせることができます。例えば以下のようにスクリプトを記述します。
file = 'data' #fileにデータファイル名(data)を格納
set terminal png
set output file.".png" #画像ファイルを"data.png"に出力。
plot 'data' ......... #プロット
スクリプト例
例として、\(f(x,y)=\cos(4\pi\sqrt{x^2+y^2})\exp(-(x^2+y^2))\)のグラフを作成した例です。
file = 'data'
set terminal png
set output file.".png"
set pm3d map
set size ratio 1
set grid
set border
set palette defined( 0"blue",1"white",2"red")
#軸の設定
set xr [-1.0:1.0]
set yr [-1.0:1.0]
set cbr [-1.0:1.0]
#ラベルの設定
set tics font "times new roman, 18" #軸のフォント
set xlabel font "times new roman:italic, 18" #xラベルのフォント
set ylabel font "times new roman:italic, 18" #yラベルのフォント
set xlabel "x" #xラベル
set ylabel "y" #yラベル
splot file using 1:2:3
#splot cos(4*pi*sqrt(x*x+y*y))*exp(-(x*x+y*y)) #これでもプロットできるが、サンプリング数を増やさないとまともに見えない。
まとめ
gnuplotでpng出力するスクリプトを紹介しました。
保存の手間などがなくなるので、作りたいグラフの型が決まってるような場合は、重宝します。
pythonと組み合わせて、グラフを自動で生成する方法に関する記事も今後追加予定です。
コメント