GNUPLOT

- not so Frequently Asked Questions -

update 2004/8/31

gnuplot 入門 --- プロットスタイル

gnuplotで描くことができるグラフの種類を,ここでまとめておきます. 描画のスタイルは,plotコマンドのwith style で指定します. with linesなら線,with pointsなら記号でプロットしま す.大ざっぱに言えば,次のようなことができます.

これらは簡単に組み合わせて利用できます.例えば棒グラフと折れ線グラフ を重ねてプロットするには,次のようにします.(同じファイル名が2度出て来る ときは,名前を""で省略できます.)

gnuplot> plot "file.dat" with boxes, "" notitle with lines
up

点や記号,線を描く

lines

各点を直線で繋ぎます.滑らかに変化するデータの表示向き.

style1.png
dots

点で表示します.表示点数が非常に多いときには便利ですが, 普通は点が小さいので少々見づらくなります.散布図などに 向いています.

style2.png
points

記号で表示します.実験データ等の表示に向いています. 使用できる記号の数は使う端末毎に事なりますが,少なくとも6種類の 記号が定義されています.-1番の記号はdotsと同じになります. 記号の大きさはset pointsize で変えることができます.

style3.png
linespoints
lp

線と記号を同時に描きます.

style4.png
impulses

座標(X,Y)からX軸に向かって垂線を下ろします.幅の無い棒グラフ になります.

style5.png
steps
fsteps
histeps

ヒストグラムで,階段状のプロットです.始点・終点の扱い方で 3種類のヒストグラムが描けます.これら3つの差は,後で説明します. なお,gnuplotはヒストグラムになったデータのプロットはできますが, ヒストグラムそれ自身を計算することはできません.

style6.png

3種類のヒストグラムの違いは,これらをまとめて描けば分かりやすい と思います.

データのある点を□で表示しています.stepsは次のデータ点までを一定 値としてプロットするものです.逆に,fstepsは次のデータ点での値を使って 水平線を引きます.histepsは繋がった棒グラフのようなもので,stepsと fstepsの中間になっています.

steps
style6a.png
fsteps
style6b.png
histeps
style6c.png
up

棒グラフを描く

boxes

棒グラフを描きます.上のヒストグラムに似ていますが,縦線が入る ところが異なります.棒グラフというと,棒の内部を塗りつぶしたもの を良く見掛けますが,gnuplotでは塗りつぶしはできません.色を塗り たい場合は,Tgif等のデータで出力して,後で手を加えます.

style7.png

棒の幅は,なにもしなければ,隣接する箱と接するように自動的に計算さ れます.set boxwidth widthを使えば,幅を調節することが できます.この場合,全ての棒がwidthで与えた幅になります.また, 幅をデータファイルで指定することもできます.データファイルの3カラム目 (もしくはusing X:Y:Zで指定したZのカラム)が幅になります.以下 の例では,与えたデータ点を青い記号で表しています.3カラム目を与える方 法では,幅に1,2,1,2,..を与えました.

default

幅は自動的に計算されます

style7a.png
set boxwidth 1

全ての幅を1にする場合

style7b.png
data file

データの3カラム目に幅の数値を与えると,それぞれの棒の幅を 個別に変えることができます.右の例は,幅を1,2,1,2..とした場合.

style7c.png
up

誤差付きのデータ点を描く

yerrorbars

pointsと同じですが,そこにY方向の誤差を付けます. 誤差の幅は,データが3カラムで与えられていれば上下同じに なり,4カラムで与えられていれば,3,4カラムがYデータの幅に なります.

style8a.png
xerrorbars

yerrorbarsと同様に,X方向の誤差を付けます.

style8b.png
xyerrorbars

XY両方の誤差を付けます.データは,4カラムか6カラム必要です.

style8c.png

データと誤差データが,データファイルとどのように対応し,データファ イルに何カラムの数値を記述するかは,プロットする方法に依存します.詳細 は,data fileの項目を参照して ください.

vector

ベクトル図を描きます.(X,Y)の点から,(X+dX,Y+dY)に向かって 矢印を描きます.従ってデータファイルには4カラム必要です.

style9.png

その他のスタイルに,金融関係で使われる2つがあります.これらをその他 に分類したのは,このページを書いている本人が「よーわからん」という理由 でしかありません.多分,株価の変動とかをプロットするものなんでしょう. これら2つのプロットではデータは5カラム必要で,それぞれ,X座標値 (普通は日時),始値,安値,高値,終値に対応します.

financebars

高値と安値の間を線で結び,その日の始値と終値の位置に小さな 横棒を付けます.この横棒の長さは,set barで変える ことができます.

style10.png
candlesticks

financebarsと同様です.始値と終値の間に長方形を描き,高値 と安値まで線を引っぱります.始値・終値の上下が代わると長方形 に縦線が入ります.

style11.png
up