[ 岡山大学 | 理学部 | 地球科学科 | 地球および惑星大気科学研究室 ]

2019年度 大気科学演習1

gnuplot

シェルスクリプトから gnuplot を使う

図を生成するのに必要なコマンドを全てファイルに書いてしまえば,gnuplot を起動せずにシェルから直接に図を生成することもできる.

例えば,以下のようなファイル sin.sh を作成する.

#!/bin/bash
gnuplot <<EOF
set terminal pngcairo
set output 'sin.png'
set xrange [-pi:pi]
set yrange [-1:1]
plot sin(x)
EOF

実行許可を出して,実行する.

$ chmod u+x sin.sh
$ ./sin.sh

正しく実行されれば sin.png という名前のファイルが生成する.

$ display sin.png

スクリプトの説明

1行目はシェルスクリプト のおまじない.

2行目の gnuplot <<EOF でgnuplot が呼び出されて,次に EOF が出てくるまでの範囲が gnuplot によって実行される. EOF行までの間に空行を入れてはいけない.

シェルスクリプトの中のgnuplotで列の演算

using を使って演算をおこなうときは,シェルスクリプトの変数と混同されないようにする必要がある. 具体的には,$ の前に \ (バックスラッシュ)をつける.

#!/bin/bash
gnuplot <<EOF
set terminal pngcairo
set output 'xy.png'
plot 'data.txt' using 1:(\$1+\$2)
EOF

前にバックスラッシュがついてない $ はシェルの変数と解釈される.

#!/bin/bash
a=1
b=2
gnuplot <<EOF
set terminal pngcairo
set output 'xy.png'
plot ${a}*x+${b}
EOF




Last Updated: 2019/11/08, Since: 2019/11/08.
This page is generated by Makefile.rd2html.