87.19.3 Set datafile missing

コマンド set datafile missing は、入力データファイル中で欠損データを 記述する特別な文字列があることを gnuplot に指示します。missing に 関するデフォルト値はありませんが、数値を期待する場面で数値とは認識でき ない文字列に出会った場合は、たいていその行は欠損データであると扱われる ことになります。欠損データと無効な値 (例えば "NaN" や 1/0) は区別され ます。無効な値は、その点を通るグラフの曲線がそこで切れますが、欠損デー タの場合はそうではありません。

書式:

     set datafile missing "<string>"
     show datafile missing
     unset datafile

注意: このバージョンの gnuplot では、ある場合の処理の方法が変更され ています。以下の例でその違いを示します。

Image figure_missing
例:
     set style data linespoints
     plot '-' title "(a)"
        1 10
        2 20
        3 ?
        4 40
        5 50
        e
     set datafile missing "?"
     plot '-' title "(b)"
        1 10
        2 20
        3 ?
        4 40
        5 50
        e
     plot '-' using 1:2 title "(c)"
        1 10
        2 20
        3 NaN
        4 40
        5 50
        e
     plot '-' using 1:($2) title "(d)"
        1 10
        2 20
        3 NaN
        4 40
        5 50
        e

(a) のグラフは、3 行目に 1 つ無効値があるため、バージョン間の違いがあ ります。古い版の gnuplot では、そこに 1 行に 1 つしかデータがなかった 場合の規則を適用し、行番号を "x" に、データを "y" と見なし、誤ってその 点を (2,3) に描画していました。

文字 '?' が欠損データを意味するものとして指定されている (b) では、古い 版の gnuplot でも新しい版でも同じデータを正しく処理します。

(c), (d) のグラフに見られるように、古い gnuplot では NaN を using の指 定の仕方によって異なった処理をしていました。現在は、gnuplot は入力列と して N と指定されていても ($N) と指定されていても NaN に対しては同じ処 理を行います。以下のデモも参照してください。

imageNaN デモ。

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