77.3 データ (data)

ファイルに納められた離散的なデータは、plot コマンドライン上で、その データファイル名 (< datafile> ) を単一引用符または二重引用符で囲んで指定 することによって表示できます。

書式:

     plot '<file_name>' {binary <binary list>}
                        {{nonuniform} matrix}
                        {index <index list> | index "<name>"}
                        {every <every list>}
                        {skip <number-of-lines>}
                        {using <using list>}
                        {smooth <option>}
                        {volatile} {noautoscale}

修正子の binary, index, every, skip, using, smooth は、そ れぞれに分けて説明します。簡単に言うと、binary はデータ列をバイナリ ファイルから取得できるようにし、index はマルチデータ集合ファイルから どのデータ集合を表示するのかを選び、every が、一つのデータ集合からど の点を表示するのかを選び、using は一行からどの列を解釈するのかを決定 し、そして smooth が、単純な補間と近似を行います。splot もよく似た 書式を使いますが、smooth オプションはサポートしていません。

キーワード noautoscale は、自動的に軸の範囲が決定される機能が有効で ある場合に、この描画を構成するデータ点については、それを無視させる (自 動縮尺機能の計算対象から外す) ようにします。

テキストデータファイル:

データファイルは、一行につき少なくとも一つのデータ点を含む必要がありま す (using は一行から一つのデータポイントを選ぶことができます)。# (VMS では !) で始まる行は、コメントとして扱われ、無視されます。各デ ータ点は、(x,y) の組を表します。エラーバー、または折れ線表示付エラーバ ーの plot では (以下参照: errorbars (77.4), errorlines (77.5))、各データ点は、 (x,y,ydelta), (x,y,ylow,yhigh), (x,y,xdelta), (x,y,xlow,xhigh), (x,y,xlow,xhigh,ylow,yhigh) のいずれかを意味します。

どんな場合でも、書式の指定子が using オプションによって与えられてい なければ、データファイルの各行の数字は、ホワイトスペース (一つまたは複 数の空白かタブ) によって区切られている必要があります。このホワイトスペ ースは、各行を列の項目に区切ります。ただし、二重引用符で囲まれたホワイ トスペースは列の勘定では無視され、よって次のようなデータ行は 3 列、と 見なされます:

     1.0 "second column" 3.0

データは、指数部に e, E の文字をつけた指数表記で書かれていても構いませ ん。コマンド set datafile fortran が有効な場合は、fortran の指数指定 子 d, D, q, Q も使えます。

必要であるのはただ一つの列 (y の値) のみです。もし x の値が省略された ら、gnuplot はそれを 0 で始まる整数値として用意します。

データファイルにおいて、ブランク行 (空白と改行、復帰以外に文字を含まない行) は重要です。

1 行のブランク行は、plot に不連続を指示します; ブランク行によって区 切られた点は線で結ばれることはありません (line style で書かれている場 合には)。

2 行のブランク行は、別々のデータ集合間の区切りを示します。以下参照:index (77.3.3)

もし autoscale の状態であれば (以下参照: set autoscale (87.3))、軸は全ての データポイントを含むように自動的に引き伸ばされて、目盛りが書かれる状態 ならば全ての目盛りがマークされます。これは、2 つの結果を引き起こします: i) splot では、曲面の角は底面の角に一致していないことがあります。こ の場合、縦の線は書かれることはありません。ii) 2 種類の軸での、同じ x の範囲のデータの表示の際、もし x2 の軸に対する目盛りが書かれていない場 合は、x 座標があっていないことがあります。これは x 軸 (x1) は全ての目 盛りにまで自動的に引き延ばされるのに対し、x2 軸はそうではないからです。 次の例でその問題を見ることができます:


     reset; plot '-', '-' axes x2y1
     1 1
     19 19
     e
     1 1
     19 19
     e

これを避けるには、set autoscale コマンドの fixmin/fixmax オプシ ョンを使うことができます。これは、次の目盛りの刻みに合うように軸の範囲 を自動的に拡張する機能を無効にします。

ラベルの座標と文字列もデータファイルから読み込むことができます (以下参照: labels (45))。



Subsections
竹野茂治@新潟工科大学
2015年1月5日