99.3 データ (data)

ファイル内にあるデータは、plot コマンドライン上で、そのデータファイ ル名を単一引用符または二重引用符で囲んで指定することで表示できます。 データはファイルではない、入力ストリームから受け取ることもできます。 以下参照: special-filenames (99.3.9), piped-data (99.3.10), datablocks (18)

書式:


     plot '<file_name>' {binary <binary list>}
                        {{nonuniform|sparse} matrix}
                        {index <index list> | index "<name>"}
                        {every <every list>}
                        {skip <number-of-lines>}
                        {using <using list>}
                        {convexhull} {concavehull}
                        {smooth <option>}
                        {bins <options>}
                        {mask}
                        {volatile} {zsort} {noautoscale}

修正子の binary, index, every, skip, using, smooth, bins, mask, convexhull, concavehull zsort をそれぞれに分けて説明しま す。簡単に言うと以下の通り。

splot もよく似た書式を使いますが、bins はサポートしていませんし、 平滑化については、2,3 の smooth オプションしかサポートしていません。

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

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

データファイルの空でない各行は、一つのデータ点を記述しますが、# で始 まる行は例外で、これはコメントとして扱われ無視されます。

描画スタイルと指定したオプションに依存し、各行から 1 つ以上 8 個以下の 値を読み込み、単一のデータ点に関連付けます。以下参照: using (99.3.11)

データファイルの単一行中の個々の値は、ホワイトスペース (一つまたは複数 の空白かタブ) か、またはコマンド set datafile で指定した特別なフィー ルド区切り文字で区切られている必要があります。フィールド全体が二重引用 符で囲まれている場合、またはフィールド区切り文字りがホワイトスペース以 外になっている場合は、そのフィールドがホワイトスペースを含むことが可能 です。二重引用符内のホワイトスペースは列数の勘定の際には無視されるので、 次のデータ行は 3 列と見なされます:


     1.0 "second column" 3.0

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

データファイルの空行は重要です。 1 行のブランク行は、plot に不連続を指示します; ブランク行によって区 切られた点は線で結ばれることはありません (line style で書かれている場 合には)。 2 行のブランク行は、別々のデータ集合間の区切りを示します。以下参照: index (99.3.6)

もし autoscale の状態であれば (以下参照: set autoscale (112.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 コマンドか set [axis]range コマン ドの noextend オプションを使うことができます。これは、次の目盛りの刻 みを入れるような軸の範囲の拡張機能を無効にします。

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


Subsections
竹野茂治@新潟工科大学
2024-04-25