next up previous contents
Next: 26.1.6 Thru Up: 26.1 Data-file Previous: 26.1.4 Smooth

26.1.5 Special-filenames

'-' という特別なファイル名は、データがインラインであることを指示し ます。すなわち、データをコマンドの後に続けて指定します。このときはデ ータのみがコマンドに続き得ます。よって、plot コマンドに対するのフィ ルター、タイトル、ラインスタイルといったオプションは、plot のコマン ドラインの方に書かないといけません。これは、unix シェルスクリプトにお ける $<$$<$ (ヒアドキュメント)、あるいは VMS DCL における $DECK と同様で す。そのデータは、それらがファイルから読み込まれたかのように、1 行に つき 1 つずつのデータ点が入力されます。そしてデータの終りは、1 列目の 始めに文字 "e" を置くことで指示します。using オプションをこれらのデ ータに適用することは可能です - ある関数を通しデータをフィルターする ことに使うのは意味があるでしょうが、列を選ぶのに使うことは多分意味が ないでしょう。

'-' は、データとコマンドを一緒に持つことが有用である場合のためにあ ります。例えば、gnuplot があるフロントアプリケーションのサブプロセ スとして起動される場合などがこれにあたります。例として、デモンストレ ーションでこの機能を使うものがあるでしょう。indexevery のよう な plot のオプションが与えられていると、それらはあなたに使われるこ とのないデータを入力する事を強要します。次の例を見てください。

 
     plot '-' index 0, '-' index 1
     2
     4
     6


     10
     12
     14
     e
     2
     4
     6


     10
     12
     14
     e

これは、実際に動作しますが、


     plot '-' , '-'
     2
     4
     6
     e
     10
     12
     14
     e

とタイプする方が楽でしょう。

もし、replot コマンドで '-' を使うなら、あなたは 1 度以上データを 入力する必要があでしょう。

空のファイル名 ('') は、直前のファイル名が再び使われることを指示しま す。これは、


     plot 'ある/とても/長い/ファイル名' using 1:2, '' using 1:3, '' using 1:4

のようなときに便利です。(もし同じ plot コマンド上で、'-''' の 両方を使用すると、上の例にあるように、インラインデータの 2 つのセット を与える必要があります。)

popen 関数を持っているコンピュータシステム (Unix) の上では、データフ ァイルは、'$<$' で始まるファイル名によって、シェルコマンドからパイプ入 力することができます。例えば


     pop(x) = 103*exp(-x/10)
     plot "< awk '{print $1-1965, $2}' population.dat", pop(x)

は、最初の人口の例と同じ情報を描画します。ただし、x 座標は 1965 年か らの経過年を表すようになります。この例を実行するときは、上のデータフ ァイルのコメント行をすべて削除しなければなりませんが、または上のコマ ンドの最初の部分を次のように変えることもできます (コンマに続く部分):


     plot "< awk '$0 !~ /^#/ {print $1-1965, $2}' population.dat"

このアプローチは最も柔軟性がありますが、using あるいは thru キー ワードを用いた単純なフィルタリングで行うことも可能です。


next up previous contents
Next: 26.1.6 Thru Up: 26.1 Data-file Previous: 26.1.4 Smooth
Shigeharu TAKENO
2003年 1月 16日