gnuplot 入入 入入入入入入入 入入入入入入入入 入入 入入 M2 入入 入入 M2
Dec 30, 2015
gnuplot 入門
神戸大学大学院 宇宙物理学研究室青田 拓大 M2
田方 友梨 M2
目次
1. gnuplot とは2. gnuplot の入手方法3. gnuplot の操作方法
起動と終了 表示方法 カスタマイズ スクリプトファイル save , load , call コマンド 出力
Gnuplot について
Gnuplot とは ?
•Thomas Williams , Colin Kelley らによって作られたグラフ作成ツール。 特徴
• 非常に簡単なコマンドで数式やデータの多種多様なグラフが作成できる。
• Linux,MS-Windows,Apple Machintosh などの OS で使用可能。
• 無料で手に入る
• 様々な人々がソースコードを改良して「改良した部分だけ」を配布をしている ( パッチ形式 )
例 ) gnuplot+ 千葉大学の山賀正人氏が改良した gnuplot
Gnuplot の入手方法
詳しい説明は下記のホームページでチェックできる
Linuxなら
•端末上で sudo apt-get install gnuplot とコマンドを入力
Windowsなら
•下記のサイトから圧縮ファイルをダウンロードして適当なフォルダで解凍すればいい http://sourceforge.net/projects/gnuplot/files/
http://www.ss.scphys.kyoto-u.ac.jp/person/yonezawa/contents/program/gnuplot/index.html
( 京都大学 固体量子物性研究室 米澤進吾氏のホームページ )
Gnuplot の起動、終了
gnuplot の起動の仕方
Linux の場合 Terminal 上で「 gnuplot 」とコマンドを 入力 Windows の場合 ダウンロードしたフォルダの中の「 gnuplot 」という exe ファイルをクリック
gnuplot の終了の仕方
]------------------------------------------------ バージョン ( 今回は 4.2) 最後に upgrade された日 (2009)
------------------------------------------------- 出力形式 (wxt) デフォルトでは画面上に出力
グラフの表示
例 y=sin(x) と z=x2+y2 グラフにしてみる
Gnuplot で使用出来る関数と演算子 ( 一部 )
説明 説明 説明
** a**b べき乗 (ab)
+ A+b 和
- A-b 差
* A*b 積
/ a/b 商
< A<b より小さい
<= A<=b 以下
== A==b 等しい
% A%b 余り
?: A?:b:c 条件演算子
! A! 階乗
$ $1 因数の指定
関数 説明
Abs(x) x の絶対値
ceil(x) x より小さくない最少の整数
cos(x) x のコサイン
exp(x) e の x 乗
floor(x) X より大きくない最大の整数
log(x) 底が e の対数
log10 底が 10 の対数
条件分けグラフで具体例を示す
グラフのカスタマイズのところで具体例を示す
媒介変数x,y 2次元の時は tx,y,z3 次元の時は u , v
• 例 1) 半径が1の円を描きたい時
• 例 2) 半径1の球を描きたい時
媒介変数を使った関数のグラフ
)sin(y)cos(x
)cos()sin( x)sin()sin( y
)cos(z
等高線表示
gnuplot では 3 次元グラフに、等高線を引くことができる 例 ) z=x**2 + y**2 の z について x y 面へ等高線表示を行う
3次元グラフでの曲面の色表示
gnuplot 4.0 以降では3次元グラフに 色付けすることが出来る コマンドは set pm3d (option)
例 ) z=x**2 + y**2 のグラフを色づけする
a. グラフの曲面に色付け
b. グラフの底面に色付け
option 説明
at b グラフの底面に色付け
At s グラフの曲面に色付け
At t グラフの天井面に色付け
関数の定義
gnuplot ではデフォルトで設定されている関数とは別に自分で関数を定義できる。 例えば
というグラフを、パラメータ α , β を変えて表現したい時
1))exp((
1)(
2
xxh
条件分けグラフ
x
x
x
xx
x
xf
10
104
4
8420
16)(2
2
というグラフを描きたいとき・・・
次のようなコマンドを入力する
A ? B:C の意味 条件 A の場合は B それ以外は C
複数の画面でのグラフの表示
gnuplot では1つのウィンドウ上に複数のグラフを表すことが出来る
set size グラフのサイズを指定
set origin グラフの左下の座標を決定
複数の画面でのグラフの表示
gnuplot では1つのウィンドウ上に複数のグラフを表すことが出来る
複数の画面でのグラフの表示
gnuplot では1つのウィンドウ上に複数のグラフを表すことが出来る
複数の画面でのグラフの表示
gnuplot では1つのウィンドウ上に複数のグラフを表すことが出来る
データのプロット
右のグラフだけを見たら、何を表したグラフなのか分からない!
データファイルの数値を読み込んでグラフにすることが出来る。
たとえば、左の表を右のグラフ表示にした場合・・・
グラフのカスタマイズ gnuplot では、グラフの範囲、目盛の変更、タイトルの表示 など グラフの環境をカスタマイズできる。
例 ) 前ページのグラフをカスタマイズする 次のようなコマンドを入力
set title ‘ 某研究室のお茶代の支出 ’ -------- タイトル指定set xlabel ‘月’ -------- x 軸のラベル指定set ylabel ‘支出 ( 円 )’ -------- y 軸のラベル指定plot [3.5:12.5] [0:2250] ‘test.dat’ カスタマイズ前
データのプロット (2)
データファイルの中には各月のトータルの支出が書かれていない。 演算子 $ を利用すればグラフ上に表示できる
$2+$3+$4 2 , 3 , 4列目の合計値
前ページのカスタマイズ後のグラフを出力した状態で以下のコマンドを入力
replot ‘ test.dat ’ u 1 : ( $2 + $3 + $4 ) w lp title ‘ 総支出 ’
スクリプトファイル
スクリプトファイルとは‥
ターミナル上で入力するコマンドを書いたテキストファイル スクリプトファイルを読み込むことで、すぐにグラフを書き出すことが出来る
スクリプトファイルに関係するコマンド
save 入力したコマンドをスクリプトファイルに保存する load , call スクリプトファイルを実行する
save コマンド
var 定義された変数の保存
function 定義された関数の保存
set Set コマンドで設定されたオプションの保存
Option の一覧
Option に何も設定しない場合 すべての設定と最後に実行した plot ( splot ) コマンドが保存
コマンドライン入力で入力したグラフと設定がスクリプトファイルとして保存される
コマンドは save ( option ) ‘ file name ’
load コマンド
スクリプトファイルを読み込むときに使用するコマンドの1つ 複数のコマンドを入力しなければいけない時に便利 !
たとえば・・・ 先ほどのカスタマイズしたグラフをスクリプトファイルとして保存する
save ‘ test.gp ’
このファイルに保存したグラフを出力する
load ‘ test.gp ’
コマンドは load ‘ script-file ’
call コマンド スクリプトファイルを読み込むコマンド
load コマンドとの違い‥引数を指定出来る( $0~ $9まで引数を設定可能) call ‘ file name ’ ‘$0’ ‘$1’ ‘$9’‥‥
たとえば、次のようなスクリプトファイルがあるとする
下記のコマンドでグラフが出力される
call ‘call.gp’ ‘2’ ‘3’ ‘1’ ‘example’
$0 ---- x の出力範囲$1 ---- sin(x) の最大値$2 ---- sin(x) の周期$3 ---- グラフのタイトル
グラフのファイルへの出力
gnuplot では様々なフォーマットの形式で出力が可能
gnuplot でサポートされている出力形式の一例
使用している gnuplot で使用出来る出力形式を知るためのコマンド
set terminal
Aifm , corel, excl, gpic, imagen, imagen , iris4dLaTeX, mf postscript, kyo, windows, X11
本日は postscript 形式 について説明をしていく
Postscript グラフへの出力
postscript への出力へ変更するには set terminal postscript (option)
(option) はラインの太さ、カラー表示、フォントなどを設定 Option の一覧
Option コマンド入力例 コマンドに意味
Mode Landscapae
Portrait
グラフを横向きに出力グラフを縦向きに出力
Color Color
Monochrome
カラーで出力モノクロで出力
Line_style Dashed
Solid
グラフのラインに波線を使用グラフのラインに実線を利用
Dash_length Dashlength 1.0 波線の間隔を指定
Line_width Linewidth 1.0 線幅の幅を指定
Font _name Times-Roman Ps のフォントを指定
Font_size 12 フォントのポイント数を指定
出力例
例 ) 「 test.dat 」から出力したグラフを postscript 形式で出力してみる
Postscript で出力したグラフ
コマンドは以下の通り ( カスタマイズされたグラフが出力された状態で )
まとめ
• gnuplot なら...
i. 様々な種類のグラフを描けるii.グラフのカスタマイズができるiii.スクリプトファイルの読み込みができるiv.様々なファイルの形式で出力できる
参考資料
・新潟工科大学工学部 竹野茂治氏のホームページ
http://takeno.iee.niit.ac.jp/~foo/gp-jman/gp-jman.html#manjp-release
・京都大学 固体量子物性研究室 米澤進吾氏のホームページ
http://www.ss.scphys.kyoto-u.ac.jp/person/yonezawa/contents/program/gnuplot/index.html
・使いこなす gnuplot( 改訂第2版 ) 矢吹道郎 大竹敢 2004
・神戸大学地球惑星科学科 2006年度 情報数理演習 第4回 資料
Web ページ
(Gnuplot 4.0 のマニュアルの日本語訳がおいてある )
(gnuplot のダウンロードの仕方、初期設定から簡単な操作の説明などが書かれている )