【gnuplot】pngでファイル保存する

gnuplot

はじめに

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と組み合わせて、グラフを自動で生成する方法に関する記事も今後追加予定です。

コメント

タイトルとURLをコピーしました