90.3.11 Using

最もよく使われるデータファイルの修飾子は using で、これは入力ファイ ルのどの行を描画するのかを指示します。

書式:

     plot 'file' using <entry> {:<entry> {:<entry> ...}} {'format'}

<entry> は、入力ファイルの一つのフィールドを選択するための単なる列 の番号か、一つのデータ集合の最初の行の列のラベルに一致する文字列、カッ コで囲まれた数式、xticlabels(2) のようにカッコで囲まない特別な関数、の いずれかです。

そのエントリがカッコで囲まれた数式の場合、N 列目の値を指定するのに関数 column(N) を使用できます。つまり、column(1) は読み込まれた最初の項目を 参照し、column(2) は次の項目、といった具合です。column(1), column(2), ... の略記として、特別な記号 $1, $2, ... を使用できます。

特別な記号 $# は、現在の入力行の全列数と評価しますので、column($#) や stringcolumn($#) は、列数が不明な場合、あるいは行によって異なる個数の 列を含むファイルからの入力の場合でも、必ず最終列の内容を返します。

関数 valid(N) で、N 番目の列が有効な数字であるかどうかテストできます。 入力ファイルの最初の行の各列に、データの値ではなくラベルを持っている場 合、このラベルを入力列の特定や plot タイトルに使用できます。関数 column() は、列番号以外にラベルで入力列を選択できます。例えば、データ ファイルが以下のような場合:

     Height    Weight    Age
     val1      val1      val1
     ...       ...       ...

以下の plot コマンドは同じ意味になります:
     plot 'datafile' using 3:1, ” using 3:2
     plot 'datafile' using (column("Age")):(column(1)), \
                  ” using (column("Age")):(column(2))
     plot 'datafile' using "Age":"Height", ” using "Age":"Weight"

指定文字列が完全に一致する必要がありますし、大文字小文字も区別します。 列のラベルを plot タイトルに使うには、set key autotitle columnhead としてください。

入力データファイルの 1...N という実際の列に加えて、gnuplot は管理情報 を持ついくつかの "疑似列" を提供します。例えば、$0 または column(0) は、 データ集合内のそのデータ行の行番号を返します。以下参照:pseudocolumns (90.3.11.3)

<entry> に何も書かなければ、そのエントリのリストの順にデフォルトの値が 使われます。例えば using ::4 は、using 1:2:4 と解釈されます。

using にただ一つのエントリを指定した場合は、その <entry> は y の値と して使われ、データ点の番号 (疑似列 $0) が x として使われます。例えば "plot 'file' using 1""plot 'file' using 0:1" と同じ意味です。 using に 2 つのエントリを与えた場合、それらは x, y として使われます。 さらにエントリを追加して、入力からのデータを利用するような描画スタイル の詳細については、以下参照: set style (101.84), fit (81)


Subsections
竹野茂治@新潟工科大学
2021-03-26