Gnuplot:将“With Lines”与“every”命令结合使用

时间:2013-11-05 15:44:55

标签: plot gnuplot

我对gnuplot有一点问题:

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

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

现在的问题是,我想使用“with lines”,但gnuplot不会将绘图数据与行连接。

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

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

提前致谢, 尔根

1 个答案:

答案 0 :(得分: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