|HOMEへ|
PC解説|
BACK(gnuplot)|
Gnuplotでグラフ作成
plot {範囲指定} 'データファイル' {index ***} {every ***} {skip ***} {using ***} {smooth ***} {with ***} {{no}title '***'}
- 「plot {範囲指定} 'データファイル'」 の順番は固定です.
- 「データファイル」を描画するときに index, every, skip, using が有効で,
これらはデータファイルの直後に配置します.
- データファイルの代わりに「関数」を指定するときにはindex, every, skip, usingは使いません.
- これらの後ろの smooth, with, title の順番は自由です.
plot [-5:10][-1:3] のようにして最小値と最大値を与えることで範囲を指定します.
- 最初の[-5:10]はX(横)軸の範囲
- 2番目の[-1:3]はY(縦)軸の範囲
- これらは, 指定しなければ自動調整されます.
(追記) set xrange [-5:10] や set yrange [-1:3] でも設定できます.
- ここでは、読み込むデータファイル(テキスト形式)を指定します.
(バイナリ形式も読み込めますが, ここでは説明を省略)
- 下の表の様に半角数字の「データ」と「タブか半角スペース」で区切られた
データファイルを予め用意しておきます(xは半角数字を表しています).
1列 2列 3列 4列 | | | |
xxx xxx xxx xxx | ←0行 | ブロック
(0) | データセット(0) |
xxx xxx xxx xxx | ←1行 |
xxx xxx xxx xxx | ←2行 |
xxx xxx xxx xxx | ←3行 |
| (1行以上の空白行) | |
xxx xxx xxx xxx | ←行 | ブロック(1) |
xxx xxx xxx xxx | ←行 |
xxx xxx xxx xxx | ←行 |
| (空白行) | | |
| (2行以上の空白行) | | |
xxx xxx xxx xxx | ←行 | ブロック
| データセット(1) |
xxx xxx xxx xxx | ←行 |
xxx xxx xxx xxx | ←行 |
xxx xxx xxx xxx | ←行 |
| (空白行) | |
xxx xxx xxx xxx | ←行 | ブロック |
xxx xxx xxx xxx | ←行 |
xxx xxx xxx xxx | ←行 |
xxx xxx xxx xxx | ←行 |
xxx xxx xxx xxx | ←行 |
- 1行内には複数のデータを記述できます.
- ブロックは, 1行以上のデータで1つの塊と認識されます.
- データセットは, 2行以上の空白で1つの塊として認識されます.
- サンプルデータ(dataset.dat)を用いた 列、行、ブロック、データセットの指定例を下に示します.
データとグラフを見比べて、indexやeveryの動作を理解してください.
index (開始データセット):(終了データセット):(データセットの増分)
|
|
|
|
index 0:0 | index 1:1 | index 2:2 | index 0:2:2 |
every (行増分):(ブロック増分):(開始行):(開始ブロック):(終了行):(終了ブロック)
- データ行やブロックを間引いて取り出す時に使います.
- 特に値を指定しないときには、空白でも良いです(増分=1, 開始行=0, 開始ブロック=0となります)が,
every指定部が「:」 で終わるとエラーになります.
- ブロック指定例
|
|
every :1::0::0 | every :1::1::1 |
- 行指定例
|
|
|
every 1::0::0 | every 1::1::1 | every 1::2::2 |
skip (整数)
データファイルの開始行から読み飛ばす行数を指定します. これは空白行やコメント行を含みます.
using (Y列)
using (X列):(Y列)
using (X列):(Y列):(誤差等の指定項目)
1, 2, 3..列目のデータは「1, 2, 3, ...」, データ値は「$1, $2, $3, ...」などと指定でき、
後者を用いると演算結果もプロットできます。
- (例1) plot 'file.dat' using 1:2
- (例2) plot 'file.dat' using $1:$2
- (例3) plot 'file.dat' using 1:($2**2-$1)
- (例4) plot 'file.dat' using 1:2:3 with yerrorbars
- (例5) plot 'file.dat' using :2:xticlabels(1) with boxes
- (例6) plot 'file.dat' using 0:1 ..... 0はデータの行数で, 1行目のデータ, 2行目のデータ, 3行目のデータ...を順次読んでゆきます. x軸は1, 2, 3, ...と増えてゆきます. 例をご覧ください.
(例1 と 例2 は同じ結果となります. 例5は横軸に指定文字列を表示する特殊な使い方です)
smooth (モデル)
- モデル
unique ........ 線形補間
csplines ...... スプライン補間
acsplines ..... 重み付きスプライン補間
mcsplines ..... 二乗スプライン補間
bezier ........ ベジェ曲線
sbezier ....... "unique"+"bezier"
with (形式・線種の指定)
- 形式
- dots ............... 点
- points ........... ポイント (+, x, *, □, ○, △ など)
- lines ............... 折れ線
- linespoints ... 折れ線とポイント
- boxes ............ 棒グラフ(箱)
- impulses ....... 棒グラフ(鉛直線)
- yerrobars ...... 縦のエラーバー
- xerrorbars .... 横のエラーバー
- xyerrorbars ... 縦横のエラーバー
- などです。他にもsteps,fsteps,histepsなどがあります。
- 線やポイント(データ点)の種類を指定
例えば次のようにして使います.
plot sin(x) with linespoints lw 2 lc 3 pt 6 ps 1.5
lt や lc, pt に指定すべき番号を知りたければ, gnuplot上で次の様に入力します.
set terminal wxt
test
指定番号とマーク/線種などの対応関係はターミナル(wxt(ディスプレイ),
svg(Inkscape), postscriptなど)毎に異なることがあるので注意が必要です.
例えば, svgファイルでの指定を知ることもできます. 次のようにすれば,
テスト結果のファイルが作成されます.
set terminal svg enhanced
set output "test.svg"
test
これをInkscape等の画像編集(閲覧)ソフトで表示させて確認します.
凡例に表示する"データ名"を指定できます. notitleで凡例を表示しません.
|BACK(gnuplot)|
MENU(ページトップ)|
NEXT(set命令)|
Ken-ichi Yamamoto
e-mail: yamamoto@eee.u-ryukyu.ac.jp