Download ppt - gnuplot 入門

Transcript
Page 1: gnuplot 入門

gnuplot 入門

神戸大学大学院 宇宙物理学研究室青田 拓大  M2

田方 友梨  M2

Page 2: gnuplot 入門

目次

1. gnuplot とは2. gnuplot の入手方法3. gnuplot の操作方法

起動と終了 表示方法 カスタマイズ スクリプトファイル save , load , call コマンド 出力

Page 3: gnuplot 入門

Gnuplot について

  Gnuplot とは ?

•Thomas Williams , Colin Kelley らによって作られたグラフ作成ツール。 特徴

• 非常に簡単なコマンドで数式やデータの多種多様なグラフが作成できる。

• Linux,MS-Windows,Apple Machintosh などの OS で使用可能。

• 無料で手に入る

• 様々な人々がソースコードを改良して「改良した部分だけ」を配布をしている ( パッチ形式 )

 例 )   gnuplot+ 千葉大学の山賀正人氏が改良した gnuplot

Page 4: 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

( 京都大学 固体量子物性研究室  米澤進吾氏のホームページ )

Page 5: gnuplot 入門

Gnuplot の起動、終了

  gnuplot の起動の仕方

  Linux の場合   Terminal 上で「 gnuplot 」とコマンドを 入力  Windows の場合  ダウンロードしたフォルダの中の「 gnuplot 」という exe ファイルをクリック

  gnuplot の終了の仕方

  ]------------------------------------------------   バージョン ( 今回は 4.2)                            最後に upgrade された日 (2009)

------------------------------------------------- 出力形式 (wxt) デフォルトでは画面上に出力

Page 6: gnuplot 入門

グラフの表示

例  y=sin(x) と z=x2+y2  グラフにしてみる

Page 7: gnuplot 入門

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 の対数

条件分けグラフで具体例を示す

グラフのカスタマイズのところで具体例を示す

Page 8: gnuplot 入門

 媒介変数x,y 2次元の時は tx,y,z3 次元の時は u , v

• 例 1) 半径が1の円を描きたい時

• 例 2) 半径1の球を描きたい時

媒介変数を使った関数のグラフ

)sin(y)cos(x

)cos()sin( x)sin()sin( y

)cos(z

Page 9: gnuplot 入門

等高線表示

  gnuplot では 3 次元グラフに、等高線を引くことができる 例 ) z=x**2 + y**2 の z について x y 面へ等高線表示を行う

Page 10: gnuplot 入門

3次元グラフでの曲面の色表示

  gnuplot 4.0 以降では3次元グラフに  色付けすることが出来る  コマンドは          set pm3d   (option)

  例 ) z=x**2 + y**2 のグラフを色づけする

a. グラフの曲面に色付け

b. グラフの底面に色付け

option 説明

at b グラフの底面に色付け

At s グラフの曲面に色付け

At t グラフの天井面に色付け

Page 11: gnuplot 入門

関数の定義

  gnuplot ではデフォルトで設定されている関数とは別に自分で関数を定義できる。    例えば

    というグラフを、パラメータ α , β を変えて表現したい時

1))exp((

1)(

2

xxh

Page 12: gnuplot 入門

条件分けグラフ

x

x

x

xx

x

xf

10

104

4

8420

16)(2

2

というグラフを描きたいとき・・・

次のようなコマンドを入力する

  A ? B:C の意味    条件 A の場合は B    それ以外は C

Page 13: gnuplot 入門

複数の画面でのグラフの表示

  gnuplot では1つのウィンドウ上に複数のグラフを表すことが出来る

set size グラフのサイズを指定

set origin グラフの左下の座標を決定

Page 14: gnuplot 入門

複数の画面でのグラフの表示

  gnuplot では1つのウィンドウ上に複数のグラフを表すことが出来る

Page 15: gnuplot 入門

複数の画面でのグラフの表示

  gnuplot では1つのウィンドウ上に複数のグラフを表すことが出来る

Page 16: gnuplot 入門

複数の画面でのグラフの表示

  gnuplot では1つのウィンドウ上に複数のグラフを表すことが出来る

Page 17: gnuplot 入門

データのプロット

 右のグラフだけを見たら、何を表したグラフなのか分からない!

データファイルの数値を読み込んでグラフにすることが出来る。

  たとえば、左の表を右のグラフ表示にした場合・・・

Page 18: gnuplot 入門

グラフのカスタマイズ  gnuplot では、グラフの範囲、目盛の変更、タイトルの表示 など グラフの環境をカスタマイズできる。

例 )  前ページのグラフをカスタマイズする 次のようなコマンドを入力

set title ‘ 某研究室のお茶代の支出 ’  --------   タイトル指定set xlabel ‘月’               --------   x 軸のラベル指定set ylabel ‘支出 ( 円 )’ --------   y 軸のラベル指定plot [3.5:12.5] [0:2250] ‘test.dat’  カスタマイズ前

Page 19: gnuplot 入門

データのプロット (2)

データファイルの中には各月のトータルの支出が書かれていない。     演算子 $ を利用すればグラフ上に表示できる

  $2+$3+$4     2 ,  3 ,  4列目の合計値

前ページのカスタマイズ後のグラフを出力した状態で以下のコマンドを入力

      replot ‘ test.dat ’ u 1 : ( $2 + $3 + $4 ) w lp title ‘ 総支出 ’

Page 20: gnuplot 入門

スクリプトファイル

スクリプトファイルとは‥

ターミナル上で入力するコマンドを書いたテキストファイル スクリプトファイルを読み込むことで、すぐにグラフを書き出すことが出来る

スクリプトファイルに関係するコマンド

save 入力したコマンドをスクリプトファイルに保存する load , call          スクリプトファイルを実行する

Page 21: gnuplot 入門

save コマンド

var 定義された変数の保存

function 定義された関数の保存

set Set コマンドで設定されたオプションの保存

Option の一覧

Option に何も設定しない場合 すべての設定と最後に実行した  plot ( splot ) コマンドが保存

 コマンドライン入力で入力したグラフと設定がスクリプトファイルとして保存される

コマンドは           save ( option ) ‘ file name ’

Page 22: gnuplot 入門

load コマンド

 スクリプトファイルを読み込むときに使用するコマンドの1つ  複数のコマンドを入力しなければいけない時に便利 !

 たとえば・・・     先ほどのカスタマイズしたグラフをスクリプトファイルとして保存する

      save ‘ test.gp ’

   このファイルに保存したグラフを出力する

      load   ‘  test.gp ’

コマンドは         load ‘ script-file ’

Page 23: gnuplot 入門

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 ---- グラフのタイトル

Page 24: gnuplot 入門

グラフのファイルへの出力

gnuplot では様々なフォーマットの形式で出力が可能

gnuplot でサポートされている出力形式の一例

使用している gnuplot で使用出来る出力形式を知るためのコマンド

    set  terminal

Aifm , corel, excl, gpic, imagen, imagen , iris4dLaTeX, mf postscript, kyo, windows, X11

本日は postscript 形式 について説明をしていく

Page 25: gnuplot 入門

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 フォントのポイント数を指定

Page 26: gnuplot 入門

出力例

例 ) 「 test.dat 」から出力したグラフを postscript 形式で出力してみる

Postscript で出力したグラフ

コマンドは以下の通り ( カスタマイズされたグラフが出力された状態で )

Page 27: gnuplot 入門

まとめ

• gnuplot なら...

i. 様々な種類のグラフを描けるii.グラフのカスタマイズができるiii.スクリプトファイルの読み込みができるiv.様々なファイルの形式で出力できる

Page 28: gnuplot 入門

参考資料

・新潟工科大学工学部 竹野茂治氏のホームページ

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 のダウンロードの仕方、初期設定から簡単な操作の説明などが書かれている )