从不同的文件中绘制绘图线中的每个点

问题描述 投票:0回答:1

我有 1000 个名为“data_i.dat”的文件,i->(1,1000)。每个文件的格式为

1  0.311  0.422  0.011
2  0.455  0.111  0.431
.
.
.

等等。现在,我想绘制一个包含 1000 个点的图表,其中每个点都是每个文件第 352 行和第 2 列中的数字。有办法做到这一点吗?

我尝试写作

plot for[i=0:1000] sprintf('data_%d.dat',i) every ::352::352

我知道这不是正确的方向,但我不知道如何去做。

gnuplot
1个回答
0
投票

绘制数据的最短方法可能是:

plot for [i=1:1000] sprintf("data_%d.dat",i) every ::351::351 u 1:2 w lp pt 7

但是,尽管使用

plot for
with linespoints
循环仍将绘制来自未连接的不同文件的数据。 此外,请记住行索引从零开始。所以,第 352 行需要
every ::351::351

所以,我的建议是首先将单个数据线收集到数据块中,然后将其连接起来

with linespoints

脚本:

### plot single lines from many different files
reset session

myFile(i) = sprintf("data_%d.dat",i)

set table $Data
    plot for [i=1:1000] myFile(i) every ::351::351 u 1:2 w table
unset table

plot $Data u 1:2 w lp pt 7
### end of script
© www.soinside.com 2019 - 2024. All rights reserved.