我正在使用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"
我正在通过shell脚本执行gnuplot脚本qe.conf 它给我以下错误
的gnuplot>情节“qe.txt”使用1:2标题“%Red”,''使用1:3标题“%Gr”,''使用1:4标题“%Gb”,''使用1:5标题“%R “ ^ 第0行:警告:跳过没有有效点的数据文件
的gnuplot>使用1:2标题“%Red”绘制“qe.txt”,使用1:3标题 “%G-r”,''使用1:4标题“%G-b”,''使用1:5标题“%R” ^ 第0行:警告:跳过没有有效点的数据文件
的gnuplot>使用1:2标题“%Red”绘制“qe.txt”,使用1:3标题 “%G-r”,''使用1:4标题“%G-b”,''使用1:5标题“%R” ^ 第0行:警告:跳过没有有效点的数据文件
的gnuplot>使用1:2标题“%Red”绘制“qe.txt”,使用1:3标题 “%G-r”,''使用1:4标题“%G-b”,''使用1:5标题“%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
`
有人可以建议解决方案吗?
大家好,经过几个小时的尝试,我仍然没有答案。 我尝试了以下的事情。我尝试为datafile,gnuscript和shell脚本提供绝对路径。 如果从linux命令提示符运行,命令gnuplot qe.conf可以正常工作,但是当通过shell脚本运行时会出现此错误。
第10行:警告:跳过没有有效点的数据文件
请求帮助。
答案 0 :(得分:5)
每当我尝试绘制.csv
(逗号分隔变量)文件时,我都会收到此错误,我忘了有时需要提醒gnuplot分隔符是什么。通常我会得到你提到的相同错误,有时我没有错误,但在任何一种情况下,在正确定义分隔符之前不会绘制数据。
gnuplot默认为空格作为分隔符,但也许您将其覆盖并将其设置为逗号或其他内容。试着告诉gnuplot你的分隔符是什么。
set datafile separator " "
或
set datafile separator whitespace
然后以逗号尝试","
,而标签会尝试"\t"
我发现最好继续将set datafile separator " "
置于我的脚本顶部,以提醒自己。
答案 1 :(得分:2)
您还可以尝试检查数据文件中的编码。
我在尝试绘制数据文件时也遇到了这个问题。事实证明,Gnuplot由于其编码(UTF-16LE)无法理解数据文件。
当我将文件的编码更改为 UTF-8 时,Gnuplot能够毫无问题地阅读它。
由于这篇文章已经有点陈旧,你可能已经设法解决了这个问题。虽然我只是认为它可以帮助其他任何也解决这个问题的人。
答案 2 :(得分:1)
这里的问题是您正在尝试绘制两列数据集的第3,第4和第5列。如果您更改plot命令以删除使用1:3或更高版本的所有内容,它应该可以正常工作。错误消息告诉您数据文件确实为空(在较高的列中)。
答案 3 :(得分:1)
最近,我使用Gnuplot 5.0.4遇到了同样的问题。正如Aendur所说,编码可能会有问题。为我修复的是,使用TextWrangler,将换行符更改为" Mac Classic(CR)",以及#34; Unix (LF)强>"无需将文件的编码更改为UTF-8。