書式:
plot '<file_name>' {binary <binary list>} {matrix} {index <index list> | index "<name>"} {every <every list>} {thru <thru expression>} {using <using list>} {smooth <option>} {volatile} {noautoscale}
修正子の binary, index, every, thru, using, smooth は、そ れぞれに分けて説明します。簡単に言うと、binary はデータ列をバイナリ ファイルから取得できるようにし (デフォルトは ASCII ファイル)、index はマルチデータ集合ファイルからどのデータ集合を表示するのかを選び、 every が、一つのデータ集合からどの点を表示するのかを選び、using は 一行からどの列を解釈するのかを決定し (thru は、using の特別な場合 である)、そして smooth が、単純な補間と近似を行います。(splot は、 よく似た書式を持っていますが、smooth オプションと thru オプション はサポートしていません)
キーワード volatile は、データファイルの内容が、再読み込み時には変化 しうることを意味します。これは、可能な限りプログラムに、replot コマ ンドの代わりに refresh コマンドを使わせようとします。以下参照:refresh (p. )。
キーワード noautoscale は、自動的に軸の範囲が決定される機能が有効で ある場合に、この描画を構成するデータ点については、それを無視させる (自 動縮尺機能の計算対象から外す) ようにします。
ASCII データファイル:
データファイルは、一行につき少なくとも一つのデータ点を含む必要がありま す (using は一行から一つのデータポイントを選ぶことができます)。# (VMS では !) で始まる行は、コメントとして扱われ、無視されます。各デ ータ点は、(x,y) の組を表します。エラーバー、または折れ線表示付エラーバ ーの plot では (以下参照: set style errorbars (p. ),set style errorlines (p. ))、各データ点は、(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 (p. )。
もし autoscale の状態であれば (以下参照: set autoscale (p. ))、軸は全ての データポイントを含むように自動的に引き伸ばされて、目盛りが書かれる状態 ならば全ての目盛りがマークされます。これは、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 (p. ))。
バイナリデータファイル:
gnuplot はバイナリデータファイルを読むこともできます。しかし、そのファ イルフォーマットに関する十分詳細な情報は、ユーザがコマンドラインから与 えるか、またはサポートされている filetype のバイナリ形式のファイルそ れ自身から抜き出されるかする必要があります。バイナリファイルには 2 つ の形式、matrix バイナリ形式と general バイナリ形式があります。
matrix バイナリ形式は、32 ビット IEEE 規格の浮動小数値 (float) が 2 次 元配列の形で並び、それらの座標値を表す行と列が追加されています。ASCII matrix 同様、using リストにおいては、座標用の列の並び (1 列目) が using の 1 番目の要素 (x 座標) に対応し、座標用の行の並び (1 行目) が using の 2 番目の要素 (y 座標) に対応し、配列の各値が using の 3 番目 の要素 (z 座標) に対応します。
general バイナリ形式は、任意個の列のデータを含み、それらの情報はコマン ドラインで指定する必要があります。例えば array, record, format, using などでサイズや形式、データの次元を指定できます。他にも、ファイ ルヘッダ読み飛ばしたり、エンディアン (endian) を変更するための有用なコ マンドがありますし、配置、データの変換を行なうコマンドの組があります。 それは、一様に標本化されたデータの場合、その座標がファイルには含まれな いことが良くあるからです。matrix バイナリや ASCII データと違っていると ころですが、general バイナリは 1,2,3 といった using リストで生成され る列番号を使わず、むしろ 1 列目はファイルの 1 列目、あるいは format リストで指定されたもの、になります。
さまざまな binary オプションに対する大域的なデフォルトの設定も可能で、 それは (s)plot < filename> binary ... コマンドに与えるオプションと全 く同じ書式で指定できます。その書式は set datafile binary ... です。 一般的な規則として、デフォルトのパラメータはファイルから抜き出されたパ ラメータで上書きされ、それはコマンドラインで指定された共通なパラメータ で上書きされます。
例えば array, record, format, filetype の general バイナリ形式 を特定するようなキーワードが何もついていなければ、デフォルトのバイナリ 形式は matrix バイナリです。
general バイナリデータは、特別なファイル名 '-' を使ってコマンドライン から入力することもできます。しかし、これはキーボードからの入力を意図し たものではなく、パイプを使ってプログラムにバイナリ形式を変換させるため のものです。バイナリデータには最後を表す記号がありませんので、gnuplot はパイプからデータを読み込む場合、array 指定子で指定した数の点数にな るまでデータを読み込み続けます。
詳細に関しては、以下参照: datafile binary (p. )。