2012-08-08 14 views
8

グラフをプロットしていますが、y = 0の点をすべて省略したいと思います。私は先験的にこれらの結果が現れる行を知っていないので、gnuplotにちょうどいくつかの行を使うように伝えることはできません。y = 0の点を無視する

データセットを編集する必要がありますか(自分の範囲外でy = 0を置き換える必要がありますか)。

+0

まず、「すべての点を除いて」と言いますが、「ちょうどいくつかの行を使用する」と言います。あなたはあなたのデータセットの範囲内でy軸を横切る線を外したいと言っていますか? – JAB

+0

@JAB最初の考え方(そして私が小さなデータセットを持っていた場合)は、手動でgnuplotにどの行を使用するかを伝えることでしたが、これは私の場合は実行不可能です。はい、私が望むのは、横軸のY軸を外すことです。 – iomartin

答えて

18

あなたはかなり簡単にこれを行うことができます:ここで

plot "mydataset.dat" u 1:($2 == 0 ? NaN : $2) 

我々はNaN0の値を置き換えるためにgnuplotの三項演算子を使用しています。 Gnuplotは黙ってNaNを無視するので、うまくいくはずです。

+0

完璧な、まさに私が探していたものです! – iomartin

10

それを行うためのエレガントな方法を使用しています。たとえば

set datafile missing

を、あなたが行うことができます:

set datafile missing '0'

とgnuplotは0記号でエントリをスキップします。 NaNまたは0.000と同様に文字列を使用できます。

+0

x = 0の点があればどうなりますか?それもスキップしませんか? – iomartin

+1

はい、これは0でエントリをスキップする例です。gnuplotにスキップする値を指示するカスタム値です。 –

+0

ありがとう!私の場合、DHT-22ワイヤは緩んでいるので、設定されたデータファイルには "0.00"がありませんので、誤った測定値をスキップすることができます。 – SDsolar

関連する問題