神戸大学大学院 宇宙物理学研究室 青田 拓大 M2 田方 友梨 M2 gnuplot入門 神戸大学大学院 宇宙物理学研究室 青田 拓大 M2 田方 友梨 M2
目次 gnuplot とは gnuplotの入手方法 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次元の時は t x,y,z3次元の時は u , v 例1) 半径が1の円を描きたい時 媒介変数 x,y 2次元の時は t x,y,z3次元の時は u , v 例1) 半径が1の円を描きたい時 例2) 半径1の球を描きたい時
等高線表示 gnuplot では3次元グラフに、等高線を引くことができる 例) z=x**2 + y**2のzについてx y 面へ等高線表示を行う
3次元グラフでの曲面の色表示 gnuplot 4.0以降では3次元グラフに 色付けすることが出来る コマンドは 色付けすることが出来る コマンドは set pm3d (option) 例) z=x**2 + y**2 のグラフを色づけする グラフの曲面に色付け グラフの底面に色付け option 説明 at b グラフの底面に色付け At s グラフの曲面に色付け At t グラフの天井面に色付け
関数の定義 gnuplot ではデフォルトで設定されている関数とは別に自分で関数を定義できる。 例えば 例えば というグラフを、パラメータα,βを変えて表現したい時
条件分けグラフ というグラフを描きたいとき・・・ 次のようなコマンドを入力する 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) データファイルの中には各月のトータルの支出が書かれていない。 演算子 $ を利用すればグラフ上に表示できる 演算子 $ を利用すればグラフ上に表示できる 前ページのカスタマイズ後のグラフを出力した状態で以下のコマンドを入力 replot ‘ test.dat ’ u 1 : ( $2 + $3 + $4 ) w lp title ‘ 総支出 ’ $2+$3+$4 2, 3, 4列目の合計値
スクリプトファイル スクリプトファイルとは‥ ターミナル上で入力するコマンドを書いたテキストファイル スクリプトファイルを読み込むことで、すぐにグラフを書き出すことが出来る スクリプトファイルに関係するコマンド save 入力したコマンドをスクリプトファイルに保存する load , call スクリプトファイルを実行する
saveコマンド コマンドライン入力で入力したグラフと設定がスクリプトファイルとして保存される コマンドは コマンドライン入力で入力したグラフと設定がスクリプトファイルとして保存される コマンドは save ( option ) ‘ file name ’ Option の一覧 Option に何も設定しない場合 すべての設定と最後に実行した plot ( splot ) コマンドが保存 var 定義された変数の保存 function 定義された関数の保存 set Set コマンドで設定されたオプションの保存
load コマンド スクリプトファイルを読み込むときに使用するコマンドの1つ 複数のコマンドを入力しなければいけない時に便利! コマンドは スクリプトファイルを読み込むときに使用するコマンドの1つ 複数のコマンドを入力しなければいけない時に便利! たとえば・・・ 先ほどのカスタマイズしたグラフをスクリプトファイルとして保存する save ‘ test.gp ’ このファイルに保存したグラフを出力する load ‘ test.gp ’ コマンドは load ‘ script-file ’
call コマンド スクリプトファイルを読み込むコマンド load コマンドとの違い‥引数を指定出来る($0~$9まで引数を設定可能) スクリプトファイルを読み込むコマンド 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 ---- グラフのタイトル
グラフのファイルへの出力 Aifm , corel, excl, gpic, imagen, imagen , iris4d gnuplot では様々なフォーマットの形式で出力が可能 gnuplot でサポートされている出力形式の一例 使用しているgnuplot で使用出来る出力形式を知るためのコマンド set terminal Aifm , corel, excl, gpic, imagen, imagen , iris4d LaTeX, mf postscript, kyo, windows, X11 本日は postscript 形式 について説明をしていく
Postscript グラフへの出力 postscript への出力へ変更するには set terminal postscript (option) (option) はラインの太さ、カラー表示、フォントなどを設定 Option の一覧 Option コマンド入力例 コマンドに意味 Mode Landscapae Portrait グラフを横向きに出力 グラフを縦向きに出力 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 なら... 様々な種類のグラフを描ける グラフのカスタマイズができる スクリプトファイルの読み込みができる 様々なファイルの形式で出力できる
参考資料 ・使いこなすgnuplot(改訂第2版) 矢吹道郎 大竹敢 2004 ・神戸大学地球惑星科学科 2006年度 情報数理演習 第4回 資料 Webページ ・京都大学 固体量子物性研究室 米澤進吾氏のホームページ http://www.ss.scphys.kyoto-u.ac.jp/person/yonezawa/contents/program/gnuplot/index.html (gnuplot のダウンロードの仕方、初期設定から簡単な操作の説明などが書かれている) ・新潟工科大学工学部 竹野茂治氏のホームページ http://takeno.iee.niit.ac.jp/~foo/gp-jman/gp-jman.html#manjp-release (Gnuplot 4.0 のマニュアルの日本語訳がおいてある)