4

我只是对gnuplot有一个小问题:

我有一个巨大的数据文件,包含几个数据块,我只想绘制每个块第一行中包含的数据。因此,我使用 every 命令:

plot "../path/to/data.dat" u 1:2 every ::1::1    

现在的问题是,我想使用“带线”,但 gnuplot 不会将绘制的数据与线连接起来。

我能想到两种解决方案:第一种是将终端类型设置为“表格”,然后绘制这个新的表格数据文件。第二个是在 plot 命令中使用 awk,这样我就可以通过 awk 提取原始数据文件中每个块的第一行数据。

但我很确定,必须有更简单的解决方案?

在此先感谢,于尔根

4

1 回答 1

1

我认为 awk 解决方案已经很简单了

plot "<awk -v p=1 'n==p; NF{n++} !NF{n=0}' test.dat" w l, \
     "test.dat" every ::1::1

使用test.dat

1
2
3
4

5
6
7
8
9

10
11
12
13
14

15
16
17
18
19

20
21
22
23
24
于 2013-11-05T18:24:41.397 回答