gnuplotによるグラフ作成15~パラメトリックプロット
今回は媒介変数を用いたパラメトリックプロットを実行する方法について紹介する。
1. パラメトリックプロットの設定
パラメトリックプロットはパラメータにより表現表現された関数をプロットする場合に用いる。パラメトリックプロットを行うには、set parametric
としてパラメトリックモードに移行する。
gnuplot> set parametric dummy variable is t for curves, u/v for surfaces
コマンドを実行すると2次元のパラメトリックプロットではt, 3次元ではu,vを変数として設定されたことが表示される。終了する場合はunset parametric
とすると
gnuplot> unset parametric dummy variable is x for curves, x/y for surfaces
通常の変数xを用いてプロットするように設定が元に戻っていることがわかる。なお以前のバージョンではset noparametric
だったが最新のバージョン5.2では警告が表示されてunset
を使用するようにメッセージが表示される。
2. 基本的なパラメトリックプロット
パラメトリックプロットを実行するにはplot x(t), y(t)
とする。パラメトリックモードでない場合は、複数のプロットが1つのグラフに重ね書きされるがパラメトリックモードであれば1つのプロットが描画される。
基本的なパラメトリックプロットとして
として円をプロットする。
plot cos(t),sin(t)
とすると以下のような実行結果になる。
楕円になっているのは縦横軸のサイズが異なり横長になっていることが原因になっている。そこで事前にグラフのサイズを設定する
set size square replot
実行すると以下のように縦横比が等しくなり、円がプロットされていることがわかる。なお縦横比を等しくする設定のコマンドとしてset size ratio -1
を用いてもよい。set size ratio
自体はグラフの縦横比を任意に調整することができる。
3. パラメトリックプロットの描画範囲
パラメータ変数はデフォルトでは-10~10だが、set trange [下限:上限]
とすると指定したパラメータの範囲で描画することができる。ここではリサージュ図形として
をプロットする。まず特にパラメータ変数を指定せずにプロットすると
plot cos(3*t),sin(t)
下のようにリサージュ図形全体が描画される。
次にパラメータtの範囲を-1/2π~1/2πとして描画するには
set trange [-0.5*pi:0.5*pi] replot
以下のように半分だけリサージュ図形が描画される。
軸範囲を設定するには、通常のプロット時と同様にset xrange
, set yrange
を用いればよい。
4. まとめ
今回は媒介変数を用いたパラメトリックプロットを実行する方法、グラフの縦横比を等しくする方法、パラメトリックプロットのパラメータの範囲を指定して描画する方法について紹介した。