我需要在数据文件的一条线上绘制一个单独的点,该文件包含许多其他行和两行。我不知道如何在gnuplot中选择单个行,而不是整个数据文件。请问有什么建议吗?
我需要在数据文件的一条线上绘制一个单独的点,该文件包含许多其他行和两行。我不知道如何在gnuplot中选择单个行,而不是整个数据文件。请问有什么建议吗?
如果你想绘制的点不是通过行号来确定的,而是通过某一列中的值来确定的,你可以在using
中使用这个技巧:
plot '-' using (($1==0)?$1:1/0):2 with points
-1 1
0 2
1 3
e
($1>=0)?$1:1/0
),或者还可以使用包含行号的伪列$0
以比every
更灵活地选择特定行:plot 'data.dat' using (((int($0)%3!=0)?$1:1/0):2 with points
这里我们绘制了3条线中的2条,当然你也可以使用 ($0==LINE)?$1:1/0
只选择其中一条。
every
来实现。data.dat
的可能提示:10 62
11 95
12 74
13 33
14 70
plot 'data.dat' every ::2::2 w p
根据文件结构,这可能会有所不同。
如果您需要多次执行此操作,则最好设置一个变量:
n=2
plot 'data.dat' every ::n::n w p
n=3; replot
n=10; replot
...
help every
命令。