78.3.3 Index

キーワード index は、描画用に複数のデータ集合を持つファイルから、特 定のデータ集合を選択することを可能にします。

書式:

     plot 'file' index { <m>{:<n>{:<p>}} | "<name>" }

データ集合は 2 行の空白で分離されています。index < m> < m> 番目の集 合だけを選択します; index < m> :< n> < m> から < n> までのデータ集合の 選択; index < m> :< n> :< p> は、< m> , < m> +< p> , < m> +2< p> , など、< p> おきの 集合を選択し、集合 < n> で終了します。C 言語の添字 (index) の付け方に従 い、index 0 はそのファイルの最初のデータ集合を意味します。大きすぎる index の指定にはエラーメッセージが返されます。< p> を指定し、< n> を空欄 にした場合、< p> 毎のデータをファイルの最後まで読み込みます。index を 指定しない場合は、ファイルのデータ全体を単一のデータ集合として描画しま す。

例:

     plot 'file' index 4:5

ファイルの各点に対して、それが含まれるデータ集合の index 値は、疑似列 column(-2) で利用できます。これは、以下に見るように、そのファイル内の個々のデータ集合を区別する別の方法を提供します。これは、描画用に 1 つのデータ集合の選択しかしない場合は index コマンドよりも不恰好です が、個々のデータ集合に異なる属性を割り当てたい場合にはとても便利です。 以下参照: pseudocolumns (78.3.9.2), lc variable (20.1.2)

例:

     plot 'file' using 1:(column(-2)==4 ? $2 : NaN)        # とても不恰好
     plot 'file' using 1:2:(column(-2)) linecolor variable # とても便利 !

index '< name> ' は、データ集合を名前 '< name> ' で選択します。名前はコ メント行に書いてデータ集合に割り当てます。コメント文字とそれに続く空白 をそのコメント行から取り除いて、その結果が < name> から始まっていれば、 それに続くデータ集合に < name> という名前がつけられて、それを指定できま す。

例:

     plot 'file' index 'Population'

< name> で始まるすべてのコメントがそれに続くデータ集合の名前になること に注意してください。問題を避けるために、例えば '== Popolation ==' や '[Population]' などの命名法を選択すると便利でしょう。

竹野茂治@新潟工科大学
2017年3月21日