@zigen 's note

gnuplot memo

最終更新:

mynote

- view
管理者のみ編集可

Gnuplot temp



まずは役立つリンク集
sourceforge のデモ集
http://gnuplot.sourceforge.net/demo/



Out line

始まりは
$gnuplot

終わり(setの初期化)は
$gnuplot exit

Scriptを読ませepsにして->BBoxを書き直し->jpg,bmpに変換
$gnuplot script.txt(script.gp)
$eps2eps -r10000 out.eps in.eps
$mogrify -quality 100 -format jpg *.eps


データの間引き(ある間隔でのPlot)

データを取りすぎた場合、全てのデータをプロットするのではなく、全データから抽出してPlotしたい場合があります、その場合はplotのeveryオプションを使用します。
例:posi006.txtに10000データがあり、その中から100点毎にPlotしたい場合は下記の様にする。
plot "posi006.txt" every 100

それ以外の抽出方法(終わりの100点とか)はスクリプトをくむしか無いと思われます(20091125)
それ以外の抽出方法はevery A:B:C:D:E:Fの2次元データとして抽出することができます(20091126)


Vector(ベクトル)場の書き方

2次元ではベクトルの始点(2点)と長さ(2方向)が必要
Time Grid_x Grid_y Vector_length_x Vector_lenght_y
1 0 0 1 1
2 23 3 2 3
plot "posi006.txt" using 2:3 with point , "posi006.txt" using 2:3:4:5 w vector


GnuplotのColor一覧



Gnuplotで扱うためのデータ整理(pasteコマンド - ファイルを行間で連結する )

プログラムごとに吐き出されたエネルギーデータなどをpasteコマンドを使用して一つのファイルにまとめると扱い易いのでココに使い方を書いておく。

 #paste a.txt b.txt > ab.txt
でa.txt, b.txtが同じ行と列に結合される


ラベルの指数表記

 gnuplot> set format y "10^{%L}"
でy軸が指数表記となる。


余白が気になるよ!

#eps2epsを使用してやるとEPSファイルのBoundingBoxを善き値にしてくれるのでこれが一番楽

自分で切り取る範囲を決めたければImagemagickの#convertを使ってCropするしかないね。
http://www20.atwiki.jp/mynote?cmd=upload&act=open&pageid=5&file=eps2eps.jpg

テンプレート


波裏富士の設定(dx=dy=0.05,dt=0.005)


set size 2,2
set term postscript eps enhanced color "Times-Roman" 35
set xrang[1:600]
set yrang[1:300]
set cbrange[0.3:1.4]
set palette defined (0.3 "white", 1.4 "blue")
set xtics 50
set ytics 50
set title "Storm Surge (Wave)" font "Times-Roman,50"
set xlabel "X-VALUE"
set ylabel "Y-VALUE"
set pm3d map
set output "nami0050.eps"
splot "nami0050" matrix title "Time =  0.25s"
set output "nami0100.eps"
splot "nami0100" matrix title "Time =  0.5s"


波裏富士の設定(dx=dy=0.05,dt=0.005)

set size 2,2
set term postscript eps enhanced color "Times-Roman"
set xrang[1:600]
set yrang[1:300]
set cbrange[0.3:1.4]
set palette defined (0.3 "white", 1.4 "blue")
set xtics 50 font "Times-Roman,30"
set ytics 50 font "Times-Roman,30"
set title "Storm Surge (Wave)" 0.0, 1.0 font "Times-Roman,60"
set xlabel "X-VALUE" 0.0, -1.5 font "Times-Roman,35"
set ylabel "Y-VALUE" -3.0, 0.0 font "Times-Roman,35"
set pm3d map          ↑x,yラベルのx,y軸方向オフセット
set output "nami3000.eps"
splot "nami3000" matrix



矩形波の伝播の設定

set size 2,2
set term postscript eps enhanced color "Times-Roman" 35
set xrang[0:20]
set yrang[-1:2]
set xlabel "X-VALUE"
set ylabel "Y-VALUE"
set output "out.eps"
plot "out.txt" with line


Line plot

write(10,*) 'set size 2,2'
write(10,*) 'set term postscript eps enhanced'
write(10,*) 'set xrang [0:150]' !x軸の表示幅
write(10,*) 'set yrang [-0.1:1.2]' !y軸の表示幅
write(10,*) 'set zrang [*:*] !<-*は固定
write(10,*) 'set xtics 10' !x軸の目盛り間隔
write(10,*) 'set ytics 0.1' !y軸の目盛り間隔
write(10,*) 'set label "Conparing Method" at graph 0.02, graph 0.95'
write(10,*) 'set key box' !凡例に枠をつけます
write(10,*) 'set key spacing 1.3'!凡例間スペースを1.3倍
write(10,*) 'set xlabel "X-VALUE" font "Times,20"'!x軸ラベル
write(10,*) 'set ylabel "f(X)" font "Times,20"'!y軸ラベル
write(10,*) 'set style line 1 lt 1 lw 2'! pt 0'!ライン1を色1(red),幅3,点の大きさ2にする
write(10,*) 'set style line 2 lt 2 lw 1'! pt 1'!ライン2を色8(black),幅1,点の大きさ2にする
write(10,*) 'set style line 3 lt 3 lw 1'! pt 1'!ライン3を色9(orange),幅4,点の大きさ2にする
write(10,*) 'set style line 4 lt 5 lw 2'! pt 2'!ライン4を色4(yellow),幅2,点の大きさ2にする
write(10,*) 'set style line 5 lt 0 lw 0 pt 0'


Map plot

write(10,*) 'set size 3,3'!大きすぎ
write(10,*) 'set size 2,2'
write(10,*) 'set term postscript eps enhanced color'
write(10,*) 'set xrang[1:57]'
write(10,*) 'set yrang[1:28]'
write(10,*) 'set zrang[*:*]'
write(10,*) 'set cbrange[0.3:1.5]'
write(10,*) 'set palette rgbformulae 3,28,3'
write(10,*) 'set palette defined (0.3 "white", 1.5 "blue")'
write(10,*) 'set xtics 10' !x軸の目盛り間隔
write(10,*) 'set ytics 10' !y軸の目盛り間隔
write(10,*) 'set label "NAMI1. 1." at graph 1, graph 1'
write(10,*) 'set label "NAMI0. 0." at graph 0., graph 0.'
write(10,*) 'set label "NAMI0.05 0.95" at graph 0.05, graph 0.95'
write(10,*) 'set label "NAMI0.05 0.95" at screen 0.05, screen 1'
write(10,*) 'set title "Storm Surge (Wave)" font "Times,40"'
write(10,*) 'set xlabel "X-VALUE" font "Times,20"'!x軸ラベル
write(10,*) 'set ylabel "Y-VALUE" font "Times,20"'!y軸ラベル
write(10,*) 'set pm3d map'


Zalesack 問題のPlot

set xrang[1:100]
set yrang[1:100]
set xtics 10
set ytics 10
set title "zalesack" font "Times-Roman,50"
set xlabel "X-VALUE"
set ylabel "Y-VALUE"
set pm3d at b
set view 70,5
splot "za000.dat" matrix with line
splot "za100.dat" matrix with line
splot "za200.dat" matrix with line
splot "za300.dat" matrix with line
splot "za400.dat" matrix with line
splot "za500.dat" matrix with line
splot "za600.dat" matrix with line
splot "za700.dat" matrix with line
splot "za800.dat" matrix with line
目安箱バナー