つれづれなる備忘録

日々の発見をあるがままに綴る

gnuplotによるグラフ作成17~コマンドの保存・ファイル出力

 今回はgnuplotのコマンドの保存・読み出し方法や描画したグラフのファイル出力の方法について紹介する。

1. コマンドの保存

 プロット範囲の設定、軸目盛の設定、凡例書式の設定など毎回同じ設定にするとき、gnuplotを再起動すると設定が初期化されてしまうので、あらかじめ設定したコマンドを保存しておき、使用時に読み込むと便利である。GUIベースのgnuplotであれば、クリック操作でも簡単に保存を行うことができる。まずコマンドの保存先はカレントディレクトリになるので、デフォルト以外のフォルダにコマンドファイルを保存するには移動する必要がある。gnuplotの上のメニューバーのFileから以下のようにChange Directoryをクリックしてファイルを保存するフォルダを選択する。

"Change Directoryの選択"
Change Directoryの選択

ターミナル上には

cd '選択したフォルダのパス'

が表示される。直接ターミナル上でcd '選択したフォルダのパス'としてもカレントディレクトリは移動する。次にプロットの設定コマンドを実行する。例えば

set xrange [0:20]
set yrange [0:20]

ここまでの設定したコマンドを保存するには、メニューバーのFileからsaveを選択し、適当なファイル名を付けて、例えばcom_saveとして保存を実行するとターミナル上に

save 'com_save'

と表示される。(ターミナル上に直接入力して実行してもよい)拡張子は特になしで

2. コマンドの読み込み

 gnuplot再起動時からメニューバーのFileからopenを選択して、さきほど保存したcom_saveを開くとターミナル上に

 load 'com_save'

と表示されて、保存されたコマンドが読み込まれる。ここで

plot x

とするとx,yの表示範囲が0~20に設定されていることが確認できる。

"コマンド読み込み後プロット"
コマンドファイル読み込み後プロット

3. プロットの保存

 表示されたプロットを画像ファイル等で保存する場合は、プロットが表示されているウィンドウのメニューバー内のExport plot to fileをクリックする。

"プロットの保存"
プロットの保存

ファイル名をつけて保存することができる。(保存してもターミナル上には何も表示されない)なお形式はpng,pdf,svg,emfのいずれかで単純に画像データにしたい場合はpngを選択する。

なおターミナル上でコマンドで実行する場合は少々複雑になる。pngで保存する場合は

set terminal png
set output 'test_png.png'
plot x

とする。set terminal pngはプロットの出力先をpng(印刷)にする。次に出力するファイル名を指定するためset output 'ファイル名'としてからプロットコマンドを実行する。 プロット実行してもグラフウィンドウが立ち上がらずtest_png.pngという画像ファイルが生成される。 元のようにグラフウィンドウが立ち上がるようにするにはset terminal wx 0 enhancedとしてプロットの出力先がウィンドウになるようにすればよい。 コマンドで画像を保存する場合は、プロットを画像を開くまで確認できないので通常はウィンドウのメニューバーから保存する方法が使いやすい。ただ画像を多数保存するような場合はコマンドラインで実行した方がクリックの手間が省けて効率がよい場合がある。

4. まとめ

 今回はプロット設定の保存・読み込みを行うためgnuplotでコマンドを保存・読み込みの方法について紹介した。またプロットを画像ファイルとして保存する方法についても紹介した。