Gnuplot脚本将无法工作,但手动输入命令可以正常工作

Gnuplot脚本将无法工作,但手动输入命令可以正常工作,gnuplot,Gnuplot,当我手动绘图时,它工作正常,但是当我将它放入脚本时,它会给出一个错误。 我有名为g000000、g000007、g000008、g000010…等的数据文件,对应于模拟的不同时间步。 每个数据文件都是包含许多列数据的ascii文件。我想绘制一个x与y的图(第1列和第2列),并使用第17列为数据着色 以下是我的代码: set term gif size 1000,600 set xr [-0.05:0.05] set yr [-0.05:0.05] set xlabel "X" set ylabe

当我手动绘图时,它工作正常,但是当我将它放入脚本时,它会给出一个错误。 我有名为g000000、g000007、g000008、g000010…等的数据文件,对应于模拟的不同时间步。 每个数据文件都是包含许多列数据的ascii文件。我想绘制一个x与y的图(第1列和第2列),并使用第17列为数据着色

以下是我的代码:

set term gif size 1000,600
set xr [-0.05:0.05]
set yr [-0.05:0.05]
set xlabel "X"
set ylabel "Y"

filelist = system('ls g000*')
do for [file in filelist] {
set output 'gasFe.'.(file[2:*]).'.gif'
plot file u 1:2:17 w d lc palette title (file)
}
然而,我得到一个错误的说法

;

set output 'gasFe.'.(file[2:*]).'.gif';
plot file u 1:2:17 w d lc palette title (file);

line 11: warning: Skipping data file with no valid points

;
set output 'gasFe.'.(file[2:*]).'.gif';
plot file u 1:2:17 w d lc palette title (file);


line 11: warning: Skipping data file with no valid points
...etc

但是,在不使用脚本的情况下,使用上面相同的命令手动执行此操作很好!那么问题出在哪里呢?

什么是
wd
,你的意思是
wp
带点
)?范围正确吗?你们有17列吗?以下工作是否有效:
绘制“g000000”u 1:2:17 w p lc调色板
?w d表示带点(绘制点而不是加号,这是您得到的w p)。范围是正确的。是的,我有超过17个专栏。您建议的代码段确实有效(wp和wd都有效,并且将我的数据点分别绘制为“+”和“.”)。就像我说的…很奇怪,我不明白为什么脚本不能工作