next up previous contents
: ファイルをもう1回読む : ファイルをロードする : オプションなしでファイルをロードする - load - 目次

オプションつきでファイルをロードする - call -

コマンドcall のはたらきは load とほぼ同様なのですが, コマンド load にはパラメータがないのに対して コマンド call は10個までのパラメータを持つことができるという 点が違います. ですから, コマンド call を使った場合は, あらかじめファイルに書き込んでおく gnuplotのコマンドをまとめたファイルにいくつか可変な部分を 持たせておいて, そのファイルを読み込むときに いくつかパラメータを指定する, ということができます.

コマンド call を使って読み込まれるファイル中では, パラメータが$0から$9までの記号で指示されます.

例として, やや人工的ですが, 図3.3のようなファイルを考えましょう. ただし, ファイル名を sample2.gp とします.

図 3.3: ファイル sample2.gp の内容
\fbox{\begin{minipage}{.8\textwidth}
\par
\begin{alltt}
\relax{} plot [$0:$1] sin(x) with $2
 \relax \end{alltt} \end{minipage}}

このファイルをcall を使って読み込む場合は, パラメータとして グラフの初期値, グラフの終了値とグラフの書き方を指定することができます.

なお, ここで出て来たコマンド plot の使い方といろいろなオプションの指定法に ついては第7章で詳しく説明されています. ここでは, $0と書かれたところに横軸の左端, $1と書かれたグラフの横軸の右端の座標を書き込み, $2と書かれたところに「lines]という文字を書き込むと グラフが線で描画され, $2と書かれたところを「points]という文字に変えると グラフが点で描画されるということだけ理解しておいて下さい.

さて, 図3.3のようなファイルを用意した上で, gnuplotのウィンドウで

  call 'sample2.gp' 0 10 lines [Enter]
と入力すると図3.4 のようなグラフが,
  call 'sample2.gp' 5 25 points [Enter]
と入力すると図3.5 のようなグラフが得られます.

横軸の読みとグラフの形状から, 今指定したパラメータが 確かにグラフに反映されていることが理解できるでしょう.

図 3.4: コマンド call の使用例(1)
図 3.5: コマンド call の使用例(2)
\includegraphics[scale=1]{EPS/gnuplot-call-1.eps} \includegraphics[scale=1]{EPS/gnuplot-call-2.eps}

コマンド call も, 読み込まれるファイルがカレントディレクトリにあると 仮定します. カレントディレクトリ以外にあるファイルを読み込みたいときには, 絶対パスあるいは相対パスでディレクトリと合わせてファイル名を指定するか, あるいはコマンド cd を使ってそのファイルがあるディレクトリまで移動して下さい.

なお, gnuplot のコマンドが書かれたファイルでパラメータがまったくないものを 読み込むときにも コマンド call を使うことができます. この場合の挙動は コマンド load と完全に同一になります.



Shigeru HANBA 平成17年7月16日