主に、gnuplotの文法について。過去の先輩が残してくださったものをこちらに書きました。
目次
*基本
・描画方法
*プロット行の編集
・複数のデータ書く
・プロットする種類
・プロットする太さ,大きさ,種類
・タイトル
*描画色をかえる
*凡例の位置
*軸のこと
・範囲
・ラベル
・軸目盛の間隔変える
・Y2軸作る
*gnuplot で文字書く
・文字を入れる
・文字の書きかた
・矢印を入れる
*いろいろなグラフ
・三次元のグラフ
・カラーマップ
・ベクトル図
・おまけ
*いろいろな関数
・for文
・every文
*グラフをepsで変える
・余分な軸の値を消す
・凡例,ラベルの位置を変えたいとき,文字を回転させたいとき
・凡例の位置,大きさなどを変える
□基本
描画方法
Gnuplot
追加コメント
以下のやり方を使わなくても、もっと速くできる。
やりかたは、予め 〇〇.gp なるファイルを作っておき、 call “〇〇.gp”をgnuplot上でやるだけ。詳しくは、以前に書いた以下の記事を読んでほしい。
gpファイルって何ですか? → テキストファイルの一つ。
この方法が良い理由は、
・〇〇.pltのファイルを無駄に作らずに済む
・gnuplot上でいちいちこのファイルをプロットして、一の太さは…とやるより、gpファイルをメモ帳で開いて変更を加える方が楽
・いちいちchange directlyをしなくていい。なぜなら、gpファイルにchange directlyをするように予め書いておけばいいから。
・a.eps以外の名前に最初から作れる。
「ファイル」→「change directly(ディレクトリの移動)」→(描画させたいファイルの存在場所を選択)
plot ‘(ファイル名)’ using 〇:〇 with lines
線じゃなくてドットとかで表示したいときは lines のところ points とか lp とかにする。これは後でも変えられる。
plot \
‘(ファイル名)’ □ using 〇:〇 □ with □ lines ,\
‘(ファイル名)’ □ using 〇:〇 □ with □ lines ,\
…
プロットする種類(withの後)
線:lines
ポイント:points
線とポイント:lp
――――――――――――――――――――――――――――――――――――
lines ライン表示
points データポイント表示
linespoints ラインとデータポイント表示(折れ線表示)
impulses インパルス表示
dots ドット表示
steps ステップ表示
errorbars 誤差グラフ
boxes 棒グラフ
boxerrorbars 誤差と棒グラフ
――――――――――――――――――――――――――――――――――――
グラフの描画の範囲指定
機能コマンド
x軸, y軸とも指定しない plot exp(x) [Enter]
x軸の上限のみ指定, y軸は指定なし plot [:9] exp(x) [Enter]
x軸の下限のみ指定, y軸は指定なし plot [1:] exp(x) [Enter]
x軸の上限と下限を指定, y軸は指定なし plot [1:9] exp(x) [Enter]
x軸は指定なし, y軸の上限と下限を指定 plot [] [1:4] exp(x) [Enter]
x軸とy軸の上限と下限を指定 plot [1:9] [1:4] exp(x) [Enter]
プロットする色
☆lc □ rgb “(好きな色の名前)”
*lineなどの指定の直後に入れる
プロットする太さ,大きさ,種類
線
点線にするとき
☆dashtype(〇,△) またはdt (〇,△)
〇:線,△:空白
☆dt “〇”
〇:「.」「-」「_」とか.
太さ
☆linewidth 〇
ドット
種類変えるとき
☆pt 〇
太さ
☆pointsize 〇
タイトル
☆title “名前”
タイトルつけないとき
☆notitle
凡例だけつけて名前つけないとき
☆ title "□"
set palette rgbformulae 〇, 〇, 〇
# 7,5,15:黒,青,赤,黄
# 3,11,6:緑,赤,紫
# 23,28,3:緑,青,白
# 21,22,23:黒,赤,黄,白
# 30,31,32:黒,青,紫,黄,白
# 33,13,10:青,緑,黄,赤
# 34,35,36:黒,赤,黄,白
# 5,5,3:黒,紺,白
# set palette defined (〇 “好きな色”, 〇 “好きな色”)
set key 〇 〇
指定できるオプション
left:左側
right:右側
top:上側
bottom:下側
outside:図の右側の外
below:図の下側の外
凡例の行間を変えるときは
spacing 〇
範囲(どの軸に対しても)
☆set 〇range [〇 : 〇]
ラベル
☆ set 〇label "名前"
軸目盛の間隔変える
☆set 〇tics 〇
※borderと書いてないほう
軸のメモリ消すときは
unset xtics
軸の表記方法を変える
階乗表記にする
☆set format y "10^{%L}"
set format x "10^{%L}"
その他の表記方法
機能 コマンド
全座標軸に書式gを設定 set format "%g" [Enter]
x軸に書式fを設定, 全2桁, 小数点以下1桁 set format x "%2.1f" [Enter]
y軸に書式eを設定, 全2桁, 小数点以下1桁 set format y "%2.1e" [Enter]
x軸とy軸に書式fを設定, 全4桁, 小数点以下2桁 set format xy "%4.2f" [Enter]
現在の目盛りの数値の書式を確認 show format [Enter]
ここで,gは自動,eは指数表記,fは普通の少数表記
Y2軸作る
☆set y2tics
このとき,プロットする全部のデータに対して,
☆axis x〇y〇
をつけて,どの軸使うか指定する
☆ set label 〇 at graph ●,● "書きたいこと"
〇:ラベル番号(複数入れるとき数を増やす)
●:入れ込みたい座標(各軸の端を1とした相対座標)
フォントの大きさを変えるとき最後に
☆ font"Times,〇"
を付け足す
文字の書きかた
・イタリックにする
☆ {/TimesNewRoman-Italic 書きたい文字}
・シンボル体で書く
☆ {/Symbol 書きたい文字}
・下付き文字,上付き文字
☆ {書きたい文字}@^{書きたい文字}_{書きたい文字}
set arrow 〇 from 座標 to 座標
矢印の見た目を変えることもできる(以下を参照)
・三次元のグラフ
☆set pm3d
Splot □ ‘(ファイル名)’ □ using 〇:〇:〇 □ with □ pm3d not
・カラーマップ
☆set pm3d map
Splot □ ‘(ファイル名)’ □ using 〇:〇:〇
・ベクトル図
☆plot □ ‘(ファイル名.vec)’ □using □ 〇:〇:〇:〇 □ with vector
もし,大きさを変えたければ,
☆a=〇
plot □ ‘(ファイル名.vec)’ □using □ 〇:〇:($〇*a): ($〇*a) □ with vector
<おまけ>
①Z軸の原点をxy平面上に持ってくる
☆set ticslevel 0
を最終行に持ってくる
②グラフの視点を変える
☆set view 回転1,回転2,グラフの拡大率,z軸の拡大率
□いろいろなグラフ
・for文
☆for [intvar(整数変数)=start(初期値):end(終了値)(:increment(増分)]]
・every文
☆every I:J:K:L:M:N
I:行の増分
J:データブロックの増分
K:プロットの開始行
L:プロットの開始データブロック
M:プロット終了行
N:プロットの終了データブロック
例文:)every 2 →1行おきにプロットする
Every ::3 →最初の三行を飛ばしてプロットする
Every ::3::5 →四行目から六行目までをプロットする
Every ::0::0 →最初の行だけをプロットする
Every 2::::6 →最初の七行を一行おきにプロットする
Every :2 →1データおきにプロットする
Every :::5:8 →5から8ブロックをプロットする
Epsファイルを秀丸でひらく
・余分な軸の値を消す
その軸の数値の書かれている所の数値を消す
例文:) [ [(TimesNewRoman) 280.0 0.0 true true 0 ( 10)]←この10をけす
・凡例,ラベルの位置を変えたいとき,文字を回転させたいとき
座標の値,translateの数値をかえる
例文:) 6500 3900 M←ここが座標の値
currentpoint gsave translate 0 rotate 0 0 moveto←ここのtranslateを変える
[ [(Symbol) 280.0 0.0 true true 0 (W)]
XYsave
[(TimesNewRoman-Italic) 224.0 -84.0 true true 0 (p)]
XYrestore
[(TimesNewRoman-Italic) 224.0 140.0 true true 0 (W)]
] -93.3 MCshow
・凡例の位置,大きさなどを変える
例文:)0.00 0.00 1.00 C 2700 3500 M←下線部分が座標
600 0 V←下線部分が凡例の線の長さ
2167 1215 M
627 293 V
⋮ ⋮
627 265 V
2167 1215 BoxF
⋮ ⋮
4047 2090 BoxF ←ここらへんはグラフのプロット
4674 2364 BoxF
⋮ ⋮
6555 3176 BoxF
3000 3500 BoxF←下線部分が凡例の球?の座標(だいたい一番下が凡例の球を表す)
・epsで文字を加えるとき
例文:)LTb
ここから文字情報を入れて
3500 2520 M
[ [(ZapfDingbats) 450.0 0.0 true true 0 (H)]
[(TimesNewRoman) 280.0 0.0 true true 0 ( )]
] -93.3 MLshow
ここまでを変える
LCb setrgbcolor
最後に
バグが出たとき確かめよう(^^♪
グラフが描画されないとき
①読み込みファイルの改行がいいところでできているか
②読み込みファイルの最終的に開業があったら出ないこともある
グラフが開かない
①ファイル名がおかしい文字を含んでいる
←一度ファイル名を『a.plt』とかにして確認してみる
②ファイル名が間違っている