web-dev-qa-db-ja.com

警告を与えるgnuplot:有効なポイントのないデータファイルをスキップします

Gnuplotスクリプトを使用しています

    #qe.conf
set terminal png truecolor
set output "qe.png"
set xrange ["400" : "700"]
set yrange ["0" : "1"]
set style data lines
plot "qe.txt" using 1:2 title "%Red", '' using 1:3 title "%G-r", '' using 1:4 title "%G-b", '' using 1:5 title "%R"

シェルスクリプトを介してgnuplotスクリプトqe.confを実行しています次のエラーが発生します

gnuplot> plot "qe.txt" using 1:2 title "%Red"、 '' using 1:3 title "%Gr"、 '' using 1:4 title "%Gb"、 '' using 1:5 title " %R "^行0:警告:有効なポイントがないデータファイルをスキップします

gnuplot> plot "qe.txt" using 1:2 title "%Red"、 '' using 1:3 title "%Gr"、 '' using 1:4 title "%Gb"、 '' using 1:5 title " %R "^行0:警告:有効なポイントがないデータファイルをスキップします

gnuplot> plot "qe.txt" using 1:2 title "%Red"、 '' using 1:3 title "%Gr"、 '' using 1:4 title "%Gb"、 '' using 1:5 title " %R "^行0:警告:有効なポイントがないデータファイルをスキップします

gnuplot> plot "qe.txt" using 1:2 title "%Red"、 '' using 1:3 title "%Gr"、 '' using 1:4 title "%Gb"、 '' using 1:5 title " %R "^行0:警告:有効なポイントがないデータファイルをスキップします

しかし、qe.confを手動で実行すると、正常に機能します

データファイルはこちらです。

400.0   0.3625060772
410.0   0.445987595886
420.0   0.503862994331
430.0   0.534251869841
440.0   0.576047041939
450.0   0.594211326218
460.0   0.58079588866
470.0   0.506666961836
480.0   0.495652452097
490.0   0.426107864611
500.0   0.342632041157
510.0   0.251232093174
520.0   0.178015786221
530.0   0.140803848655
540.0   0.120063881639
550.0   0.0995420648319
560.0   0.080193952073
570.0   0.0730989150532
580.0   0.0708069989426
590.0   0.0688014659014
600.0   0.0597099385221
610.0   0.0481330987744
620.0   0.042010859344
630.0   0.0425115579982
640.0   0.0460125024438
650.0   0.0515227545961
660.0   0.0559745367996
670.0   0.0629981328342
680.0   0.0573046109671
690.0   0.0688715871636
700.0   0.0742304568215

`

誰かが解決策を提案できますか?

こんにちはすべて、何時間も試した後、私はまだ答えを持っていません。以下のことを試してみました。データファイル、gnuscript、シェルスクリプトの絶対パスを指定してみました。コマンドgnuplotqe.confは、Linuxコマンドプロンプトから実行すると正常に機能しますが、シェルスクリプトを実行するとこのエラーが発生します。

10行目:警告:有効なポイントがないデータファイルをスキップします

助けを求める。

7
kate

.csv(コンマ区切り変数)ファイルをプロットしようとするたびにこのエラーが発生しますが、gnuplotに区切り文字を思い出させる必要があることを忘れています。通常、私はあなたが言及したのと同じエラーを受け取ります、時々私はエラーを受け取らない、しかしどちらの場合でも、区切り文字が適切に定義されるまでデータはプロットされません。

gnuplotはデフォルトで区切り文字として空白を使用しますが、おそらくそれを上書きしてカンマなどに設定します。 gnuplotに区切り文字を教えてみてください。

set datafile separator " "

または

set datafile separator whitespace

そしてもちろん、コンマの場合は","を試し、タブは"\t"を試します。

スクリプトの先頭にset datafile separator " "を入れ続けるのが最善だと思います。

7
Cutlasj

データファイルのencodingを確認することもできます。

データファイルをプロットしようとしたときに、この正確な問題にも遭遇しました。そして、Gnuplotはそのエンコーディング(UTF-16LE)のためにデータファイルを理解できなかったことが判明しました。

ファイルのエンコーディングをTF-8に変更すると、Gnuplotは問題なくファイルを読み取ることができました。

この投稿はすでに少し古いので、おそらくあなたはすでにそれを解決することができました。私はそれがこの問題を抱えている他の誰かを助けるかもしれないと思っていましたが。

2
Aendur

最近、Gnuplot5.0.4を使って同じ問題が発生しました。 Aendurが示唆したように、エンコーディングには問題がある可能性があります。私にとってそれを修正したのは、TextWranglerを使用して、改行(私の場合は "Mac Classic(CR)"から "nix(LF)"ファイルのエンコーディングをUTF-8に変更する必要があります。

1
Jon

ここでの問題は、2列のデータセットの3列目、4列目、および5列目をプロットしようとしていることです。 1:3以上を使用しているものをすべて削除するようにプロットコマンドを変更すると、問題なく動作するはずです。エラーメッセージは、データファイルが実際には空であることを示しています(上の列)。

1
Alex Mooney