set term XXX (XXXはお好みで) testコマンドで、それぞれのterminalの点や線のサンプルが表示される。
set size square set multi set bmargin 3 set tmargin 3 set lmargin 6 set rmargin 6 set border 1+2+4 lt 7 set xrange [-10:10] set xlabel "x" set yrange [-10:10] set ytics -10,2 nomirror set ylabel "y=x" offset 2,0 p x lt 7 set border 8 lt 1 unset xtics unset xlabel unset ytics unset ylabel set y2range [-1:1] norev set y2tics -1,0.2 border textcolor lt 1 set y2label "y=-0.1*x" textcolor lt 1 offset -1,0 p -0.1*x
"set border" というオプションでフレームの線種と色を変えることができる。
gnuplotでは、各辺にbitが割り当てられているので、指定したい数を加算して書式を決める。
plot(2D)では、上:1、左:2、上:4、右:8になっている。
つまり、例えば上下の枠を赤色にしたい場合は
set border 1+4 lt lc "red"
と指定する。
後は、multiplotを利用して、黒い枠と赤い枠をかく。marginを指定しておくとずれない。
set label "Sample" at screen 0.175,0.9 point pt 1 lt 1 right offset -3.5,-0.1Plotがlogスケールやだったり凡例(key)と合わせたりするかもしれないので、位置はscreenで指定する方が楽そう。
% Default Line Types /LTw {PL [] 1 setgray} def /LTb {BL [] LCb DL} def /LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def /LT0 {PL [] LC0 DL} def /LT1 {PL [4 dl1 2 dl2] LC1 DL} def /LT2 {PL [2 dl1 3 dl2] LC2 DL} def /LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def /LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def /LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def /LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def /LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def /LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} defLTn nは0〜8はそれぞれline 1〜9に対応。 LTa はline 0、LTbはline -1に対応か。
上記部分の内、[]で囲まれた部分が実線や破線の感覚を決めている部分。
dl1が線を引くところ、dl2が空隙に相当する。
例えば[4 dl1 2 dl2]の場合は、長さ4の線と長さ2の隙間からなる線ができる。
gv等で確認しながら変更したい線の値を調整するとよい。
以下の図はline width 9の状態での実線及び破線の比較。
y=0.5*xが線種を変更して
[15 dl1 10 dl2]
の破線にした。y=2*xはデフォルトの破線(line type 2)
set border lw 2で太くなります。数字を変えると太さが変わります。 また、
set border lt 2とかすると線種を変えることができます。枠を消したいときは
unset borderとします。 また、枠を太くすると、メモリが潰れて見えにくくなるので、
set ytics scale 2.0として、目盛の大きさを変えることができます(上記は規程値の2倍になっている)。 枠の太さを2.5倍、y軸の目盛の大きさを1.8倍に変えた場合の前後の図を以下に載せます。
set xrange [54300:55850] set xlabel "JD - 2400000" set x2data time set timefmt "%Y/%m/%d" set x2range ["2007/07/18":"2011/10/15"] set format x2 "%Y.%m" set xtics nomirror set x2tics "2007/06",3600*24*365*5,"2012/06" Scaleの幅は秒が単位 set x2tics add ("2007/08","2008/01","2008/07","2009/01","2009/07","2010/01","2010/07","2011/01","2011/07") set mx2tics 60 mxtics (minor tics)は自動スケールされた目盛にしか適用されない
上で行っていることをかいつまんで説明すると、
1.2007/06と2012/06だけ自動でplot(間隔は5年分)…本当はうるう年を入れないといけないでしょうが。
2.適当な日付に目盛を追加
3.mx2ticsでは自動でplotした1.の目盛を60等分する(5年*12ヶ月)
になります。
#col1 #col2 #col3 行 セット ブロック aaa bbb ccc 0 0 0 ddd eee fff 1 0 0 (空行) iii jjj kkk 0 1 0 lll mmm nnn 1 1 0 (空行) (空行) rrr sss ttt 0 0 1 uuu vvv www 1 0 1 xxx yyy zzz 2 0 1つまり、データセットは1行の空行、データブロックは2行の空行で分けられる。
データ行、データセット、データブロックはそれぞれ『0列』『-1列』『-2列』に値が入る。つまり、
p "Datafile.dat" u 1と
p "Datafile.dat" u 0:1は同等。
p "Datafile.dat" u (column(-1)+column(-2)):1のようにする(そんなときはあるのかなぁ。。。)。
p "Datafile.dat" u 1:($2>0 ? $2: 1/0)のようにする。
everyを用いる。
plot "Datafile.dat" every i:I:s:S:e:E u 1:3で、それぞれ、
plot "Datafile.dat" every 3 u 1:3 3行おきにプロット plot "Datafile.dat" every :4 u 1:3 4ブロックおきにプロット plot "Datafile.dat" every ::5::27 u 1:3 5-27行目をプロット(実質6-28行目) plot "Datafile.dat" every :::6::28 u 1:3 6-28ブロックをプロット(実質7-29ブロック) plot "Datafile.dat" every ::5:: u 1:3 5行目からをプロット plot "Datafile.dat" every ::::27 u 1:3 27行目までをプロット plot "Datafile.dat" every 3::5::27: u 1:3 5-27行目を3行おきにプロット plot "Datafile.dat" every :4::6::28 u 1:3 6-28ブロックを4ブロックおきにプロット
p f(x) w lc rgb "color-name"Gnuplotで予め設定されている色は以下の通り。尚、
show palette colorで色の名前とrgbの値が見ることができる。
■white | ■black | ■gray0 | ■grey0 | ■gray10 | ■grey10 |
■gray20 | ■grey20 | ■gray30 | ■grey30 | ■gray40 | ■grey40 |
■gray50 | ■grey50 | ■gray60 | ■grey60 | ■gray70 | ■grey70 |
■gray80 | ■grey80 | ■gray90 | ■grey90 | ■gray100 | ■grey100 |
■gray | ■grey | ■light-gray | ■light-grey | ■dark-gray | ■dark-grey |
■red | ■light-red | ■dark-red | ■yellow | ■light-yellow | ■dark-yellow |
■green | ■light-green | ■dark-green | ■spring-green | ■forest-green | ■sea-green |
■blue | ■light-blue | ■dark-blue | ■midnight-blue | ■navy | ■medium-blue |
■royalblue | ■skyblue | ■cyan | ■light-cyan | ■dark-cyan | ■magenta |
■light-magenta | ■dark-magenta | ■turquoise | ■light-turquoise | ■dark-turquoise | ■pink |
■light-pink | ■dark-pink | ■coral | ■light-coral | ■orange-red | ■salmon |
■light-salmon | ■dark-salmon | ■aquamarine | ■khaki | ■dark-khaki | ■goldenrod |
■light-goldenrod | ■dark-goldenrod | ■gold | ■beige | ■brown | ■orange |
■dark-orange | ■violet | ■dark-violet | ■plum | ■purple |