よく使うgnuplotのコマンド備忘録
論文や報告資料の作成をする際に、データを取りまとめる必要があります。 そのためにグラフ作成ソフトを使用する場面が多く存在し,私もgnuplotを長いこと使用しています。
このgnuplotを使う上で,よく使用するコマンドをまとめてみました。
なお,コマンドは基本的に省略形で記述し,省略前の形を#のあとに記述しています。
全般設定
フォントの設定
se t wxt font "xxx, y" # set terminal wxt font "xxx, y"
xxx : フォント名
y : ポイント数
se t wxt font "Times New Roman, 18"あたりをよく使う。
CSVを読み込めるように
se dataf sep "," # set datafile separator ","
データはCSV 形式に変換したほうが処理しやすい。これ以降,CSV ファイルの取り扱いを基本とする。
描画する
p "aaa.csv" u x:y # plot "aaa.csv" using x:y
aaa.csv : ファイル名,パスで指定することもできる
x : x軸となるデータ列が左端から何行目に存在するか
y : y軸となるデータ列が左端から何行目に存在するか
もし,ファイルの先頭数行を無視する場合,
rep "aaa.csv" u x:y ev ::z # replot "aaa.csv" using x:y every ::z
z : 無視する行数
とする。
複数データを重ねて描画する
# 方法1. カンマで続けて記述 p "aaa.csv" u x:y, "bbb.csv" u a:b # 方法2. replotで分けて記載 p "aaa.csv" u x:y rep "bbb.csv" u a:b
同一ファイルであっても,u(using)は記載する必要がある。
同一ファイル内のデータを複数参照する場合,一度ファイル名(パス)を変数として定義すると楽。
# 方法3. ファイル名を変数定義してからプロット N = "aaa.csv" p N u x:y, N u a:b # または, p N u x:y rep N u a:b
描画設定
下のコマンドは,u x:y (ev ::z) のあとに記載する。
データ点の表示スタイル
点の種類や,線の太さは変更可能(記載省略)
w p # with points, 点で表示する(標準) w l # with lines, データ間を線で結ぶ w lp # with linepoints, 点で表示し,さらに線でも結ぶ
線色の変更
lc rgb "xxx" # linecolor rgb "xxx"
xxx:color name
よく使用するcolor nameを下に。
black gray50 red dark-blue
dark-green dark-orange
他のcolor nameは,sh colorn(show colorname)で確認することができる。
凡例に表示する名前を指定
t "xxx" # title "xxx"
その他設定
これら設定は,設定後replotコマンドを入力することで描画される。
y軸に対して適用するには,xをyに置換する。 また,設定を取り消すためには,se(set)をuns(unset)に置換する。
軸範囲を指定する
se xr [a:b] # set xrange [a:b]
a : 下限
b : 上限
オートスケール
se au
# set autoscale
軸ラベルを表示する/非表示にする
se xl "xxx" # set xlabel "xxx"
凡例を表示する/非表示にする
se k xxx
# set key xxx
xxx : 凡例位置,left,right,top,bottom,outside,below から指定(left bottom のように複数指定も
可能)
また,直接座標位置による指定もできる(記載省略)
logスケールにする/linearスケールにする
se log x # set logscale x uns log x # unset logscale x
罫線を挿入する
se xzeroa lt x # set xzeroaxis linetype x
x : 線の種類,0を指定すると破線
y=0 の位置に破線の罫線を挿入する