gnuplot的:从不同的数据文件中的某一点连接线与两个数据(Gnuplot: connecting

2019-09-30 09:51发布

这个问题是一个扩展先前回答一个 。

我想用的gnuplot在混合方案的两个数据的图表。 这是由3列的数据:

#x   y1   y2
1   0    1    
2   0    1    
3   0    1    
4   0    1    
5   0    1    
6   0    1    
7   0    1    
8   0    1    
9   0.1  1.2
10  0.1  1.23

我要的是一个线平无缝。 例如

从x = 1到x = 5,使用Y1值,然后从x = 6至x = 10使用Y2的值。

而且,所有的点都用一个单一的线连接。 是否有任何身体知道如何用简单的gnuplot的命令做的?

还有一个相关的问题是存在的。 如果在第三列中的数据被分离到其他文件,比如sheme2.dat,怎样绘制用纯gnuplot的命令的相同的图?

Answer 1:

如果你绝对要使用纯Gnuplot你可以欺骗与变量一点(,但我建议你重新考虑这个问题):

set term unknown

plot 'sheme.dat' u 1:2 every ::::4
x0=GPVAL_DATA_X_MAX
y0=GPVAL_DATA_Y_MAX

plot 'sheme2.dat' u 1:2 every ::5
x1=GPVAL_DATA_X_MIN
y1=GPVAL_DATA_Y_MIN

set term wxt
# or png or qt or...

set arrow 1 from x0,y0 to x1,y1 nohead lc 1
plot 'sheme.dat' u 1:2 every ::::4 w l lc 1
replot 'sheme2.dat' u 1:2 every ::5 w l lc 1

这是最后的和第一个数据点带箭头连接取巧的办法,但这个问题的条件是如此具体。



Answer 2:

对于1/2列的文件,并与第3列,你可以使用第二个文件paste ,以及:

plot "<paste -d ' ' data1.dat data2.dat" using 1:($1<=5?$2:$3) with lines

-d ' '意味着data1.dat和data2.dat将用一个空格分开。

对于在一个文件中三列(如前回答)

plot "data.dat" using 1:($1<=5?$2:$3) with lines


文章来源: Gnuplot: connecting two data with line at a certain point from different data files
标签: gnuplot