第3列の値を条件に第2列の値を表示
Q:データファイルの第1列を横軸,第2列を縦軸にしてグラフを描くのは簡単
ですが,第3列がある値の場合のみプロットすることができますか?
A:数少ない条件演算子 a?b:c (ternary) と,1/0 (未定義として無視される)
を用いることで解決します.Gnuplot を対話的に起動して help ternary として
みるとよいでしょう.
3項演算子 ternary の書式と実行される条件分岐演算は
A ? B : C
| A ならば B でなければ C
|
です.したがって,例えば,第3列の値が 0 の場合のみ第2列を表示させるに
は,
plot "datafile" using 1:( $3==0 ? $2 : 1/0)
とすれば良いことが判ります.