我在目录中有多个数据文件,并希望从所有这些文件生成一个图。 每个数据文件都有一个自己的列头(设置键自动标题列头)。
当我绘制一个图形(一个“使用”)语句时,它可以工作。如果我有多个using语句,只有第一个被正确绘制,而其他只有第一个数据点被处理(只有一个标签,一个yerrorbars,但有5个线点)
gnuplot陈述:
set key autotitle columnhead
files = system("echo $(ls *.csv)")
plot for [i=1:words(files)] word(files,i) using 0:2:xtic(1) with lp ,\
'' using 0:2:2 with labels font ',8' offset 1,0.5 notitle "",\
'' using 0:2:3 with yerrorbars lt -1 lc rgb 'grey' title ""
如果我只绘制标签或只绘制yerrorbars它们也是正确的,那么只有在我使用多个“using”语句并使用“plot for”时它才会被打破。
任何人都知道我做错了什么?
Gnuplot版本:4.6.5
非常感谢 (gnuplot让我发疯了)
答案 0 :(得分:2)
for
次迭代仅适用于第一个命令。为了在以下命令中进行迭代,您必须重复迭代:
set key autotitle columnhead
files = system("echo $(ls *.csv)")
plot for [f in files] f using 0:2:xtic(1) with lp ,\
for [f in files] f using 0:2:2 with labels font ',8' offset 1,0.5 notitle "",\
for [f in files] f using 0:2:3 with yerrorbars lt -1 lc rgb 'grey' title ""
注意,在您的情况下(您不需要迭代索引i
),您可以直接迭代文件。