gnuplot / intro / style

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