つれづれなる備忘録

日々の発見をあるがままに綴る

gnuplotによるグラフ作成7~プロットスタイル変更

 前回のgnuplotのグラフ凡例の書式設定の方法について紹介したが、今回はラインプロット以外のプロットスタイルで描画する方法について紹介する。

atatat.hatenablog.com

1. 点プロットによる描画

 デフォルトでは、プロットを実行するとラインプロットでグラフが描画される。例えば離散データをプロットする場合など、ラインでつないだプロットではなく、点でプロットしたい場合がある。 点でプロットする場合はplot 関数名 with pointsとする。例えば

plot exp(x) with points

以下に実行結果を示すが、デフォルトのラインプロットから点プロットになっていることがわかると思う。

点プロットによる描画
点プロットによる描画

ラインに点プロットを重ねる場合(Excelのデフォルト設定のような)はplot 関数名 with linespointsとする。

plot exp(x) with linespoints

以下に実行結果を示す。

ライン上に点プロットを重ねて描画
ライン上に点プロットを重ねて描画

2. インパルス、階段プロットによる描画

   点プロット以外にインパルスでプロットする方法もある。plot 関数名 impulsesとするとインパルスプロットになる。

plot exp(x) impulses

以下に実行結果を示す。

インパルスによる描画
インパルスによる描画

点プロットにように例えばラインと重ね合わせるというコマンドはないが、同じ関数を複数に分けてプロットすれば一応できる。

plot exp(x) with impulses, exp(x) with lines

実行結果を以下に示す。凡例は必要に応じて非表示にしてもよいかもしれない。

インパルスにラインを重ねて描画
インパルスにラインを重ねて描画

階段プロットの場合はplot 関数名 stepsを用いる。

plot exp(x) steps

以下に実行結果を示す。

階段プロットによる描画
階段プロットによる描画

なお階段プロットの描画方法は3種類ある。(x1,y1)と隣接点(x2,y2)としたとき、x1からx2まで高さy1でプロットするのが、stepsで、x1からx2まで高さy2でプロットするのがfsteps、さらにx1とx2の中間点:(x1+x2)/2まで高さy1でプロットし、中間点を越えるとy2でプロットするのがhistepsとなる。

階段プロットを長方形のボックスで描画するにはplot 関数名 boxes

plot exp(x) boxes

以下に実行結果を示す。統計データなどを表示するのに適したプロットスタイルとなる。

ボックスプロットによる描画
ボックスプロットによる描画

3. 点プロットのスタイル変更

 点プロットのスタイルを変更するには、plot 関数名 pointtype 番号あるいはpointtypeの短縮形ptを用いてplot 関数名 pointtype 番号とする。例えば

plot exp(x) pt 19

以下に実行結果を示す。

点プロットスタイル変更
点プロットスタイル変更

なお、pointtypeの番号と形状は、以前紹介したtestコマンドで生成されるスタイルサンプルで下のように確認できる。

スタイルサンプル
スタイルサンプル

ポイントのサイズを変更する場合は、pointsizeあるいは短縮形のpsを用いる。また色を変更する場合はlc "カラー名"とする。例えば、ポイントのスタイル、サイズ、色を同時に変更するには

plot exp(x) with points pt 15 ps 1.5 lc "red"

以下に実行結果を示す。

ポイントスタイル、サイズ、色変更
ポイントスタイル、サイズ、色変更

3. まとめ

 今回は、、今回はラインプロット以外のプロットスタイルで描画する方法として点プロット、インパルス/階段プロット、点プロットのスタイル変更に関して紹介した。