next up previous contents
Next: Using Up: Plot Previous: Plot

Data-file

ファイルに書かれた離散的なデータは、そのデータファイル名を引用符に囲 んで plotsplot コマンド中に書くことによって、表示させることが できます。データファイルには、一行にひとつずつデータが書かれていなけ ればなりません。# (VMSでは、!)で始まる行はコメントとして扱われ、無視 されます。plot に対しては、各データ点は (x,y) の組を表します。 splot では、(x,y,z)です。エラーバー付きの plot (plot errorbars 参照)では、各データ点は、(x,y,ydelta) または (x,y,ylow,yhigh) を表し ます。いずれの場合もデータファイル中の数字は、空白文字で区切られてい なければなりません。この空白文字によって、各行は列に区切られます。

plot コマンドについては、x の値を省略することができ、splot コマン ドについては、x, y の値を省略することができます。 いずれのコマンドで も省略された値には、現在の座標値が使われます。この座標値は 0 から始ま り、一つデータを読み込む毎に 1 づつふえまえす。

それ以外の、入力書式を指定する場合については、plot datafile using を参照してください。

plot コマンドにおいて、データファイル中の空行はグラフの中断を起こし ます。つまり、プロットスタイルが lineslinespoints だった場合 に、空行の前のデータと後のデータを結ぶ線は引かれません。( plot style 参照)なお、これはデータを異なる線でプロットするようにプロット のスタイル自身を変更するものではありません。

次の例は、population.dat というファイルのデータと、理論曲線とを比較す るというものです :

        pop(x) = 103*exp((1965-x)/10)
        plot [1960:1990] 'population.dat', pop(x)

ここで、ファイル population.dat は、例えば次のようになっています :

        # Gnu population in Antarctica since 1965
        1965   103
        1970   55
        1975   34
        1980   24
        1985   10

ファイル中のデータをプロットするときには、samplesiso_samples は無視されます。plot コマンドで描かれた曲線は、その曲線全体が収まる ように拡張されます。同様に、splot コマンドで描かれた格子状のデータ も拡張されます。この場合、各々の孤立した線(以後孤立線)は、空行 (CR/LF のみの行)で分離されているものと仮定しています。

明示していませんが、三次元のデータファイルには二種類あります。もしも、 全ての孤立線が同じ長さを持つならば、それは格子状のデータであるとして います。つまりデータが格子状のトポロジーを持つということです。データ が格子状であるときには、各孤立線を結ぶ横断線(i 番目の横断線は孤立線 の i 番目の点を、孤立線を与えた順に全て結んだものになります。)も引か れるようになります。(等高線を描く機能は格子状データにのみ有効である ことに留意しておいてください。)全ての孤立線が同じ長さを持つのでなけ れば、横断線は引かれず、また等高線を引くことも出来ません。

splot を使う際に、3次元のデータファイルと、using format (splot datafile using を参照してください)によって z(高さ)のみを指定する 場合は非媒介変数表示モード(noparametric)を指定しなければなりません。 逆に、x, y, z 全てが与えられる場合は、パラメータによって張られた面を あらわすわけですから、媒介変数モードを指定してください。 (set parametric を参照してください)

三次元のデータファイルのによる簡単な描画例としては、

        set parametric
        splot 'glass.dat'

        set noparametric
        splot 'datafile.dat'

などが、挙げられるでしょう。ここで、datafile.dat は例えば :

        # The valley of the Gnu.
        10
        10
        10

        10
        5
        10

        10
        1
        10

        10
        0
        10

などとなっています。ここで、このファイルは 3 × 4 の格子(3 点ずつの 孤立線が 4 本)をなしていることに留意してください。孤立線が空行によっ て区切られています。

UNIX などの popen の機能を持ったいくつかのシステムにおいては、データ ファイルはシェルコマンドによって実行されたプログラムからパイプ経由で 取り込むことが出来ます。これは、ファイル名を '<' の文字で始めることに よって指定できます。例えば :

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

とすることによって、最初に挙げた人口の例を x 軸について 1965 年以降に 限ることが出来ます。

三次元描画についてのほかの情報については、splot を参照してください。


 

Masashi Katsurada 平成10年7月9日