如何使用gnuplot从数据文件中绘制特定的数据子集?

时间:2016-04-28 23:12:09

标签: gnuplot

我需要从数据文件中的一行绘制一个单点,该点包含许多其他行和两行。我不知道如何在gnuplot中选择单行,而不是整个数据文件。有什么建议吗???

2 个答案:

答案 0 :(得分:1)

你必须过滤掉。在gnuplot中,这是使用关键字every完成的。

由于您未提供要在此处绘制的文件,因此可能会基于此数据文件提示data.dat

10 62
11 95
12 74
13 33
14 70

你可以像这样在第三行(12,74)绘制点:

plot 'data.dat' every ::2::2 w p

基于文件结构,这可能会有所不同。

也许如果你必须多次这样做,设置一个变量是好的:

n=2
plot 'data.dat' every ::n::n w p

因此,一旦绘制,你可以这样做:

n=3; replot
n=10; replot
...

请仔细阅读gnuplot中的help every命令

答案 1 :(得分:0)

如果您要绘制的点不是由行号表示,而是通过一列中的某个值,您可以在SimpleCursorAdapter中使用此技巧:

using

这可用于绘制例如只有具有正x坐标的点(更改为plot '-' using (($1==0)?$1:1/0):2 with points -1 1 0 2 1 3 e ),或者使用包含行号的($1>=0)?$1:1/0伪列,以比{{1}更通用的方式选择特定行}}:

$0

这里我们绘制了3行中的2行,当然你也可以只用every选择一行。