拆分基于列在gnuplot的一条线(Splitting a line in gnuplot base

2019-10-21 11:33发布

我有一堆像这样的数据:

0 0 50.5 -3.39358e-05
0 0 150.5 5.11472e-06
0 0 250.5 -3.87604e-06
0 0 350.5 -2.54219e-05
0 0 450.5 3.92257e-06
0 0 550.5 0.00198317
0 0 650.5 -4.96953e-05
0 0 750.5 -3.60458e-05
0 0 850.5 -2.30878e-05
0 0 950.5 1.67545e-07
1 0 126.5 4.17028e-05
1 0 226.5 -1.43637e-05
1 0 326.5 1.42918e-06
1 0 426.5 1.18147e-05
1 0 526.5 0.0020478
1 0 626.5 1.58651e-06
1 0 726.5 3.18537e-05
1 0 826.5 2.47536e-05
1 0 926.5 -4.20655e-05

我要绘制这样的事情上的gnuplot:

plot file using 3:($4+$1*factor) with lines

但是,这让我对所有的数据一脉相承。 我想对于每个独特的价值一条线$1 。 即,对于所有的数据,其中一个连续的行$1=0 ,那么另一条线为$1=1等。 我如何能在行添加这样的缺陷?

Answer 1:

您可以使用外部工具进行预处理你的数据添加一个空行,只要在第一列的变化(不工作在Windows上)的值:

plot '< awk ''{if(x!=$1) {print ""}; x=$1;print}'' test.dat' using 3:($4 + $1*factor)

在数据文件中的空行防止gnuplot的从连接分离的数据点。



文章来源: Splitting a line in gnuplot based on a column