这个问题是一个扩展先前回答一个 。
我想用的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的命令的相同的图?
如果你绝对要使用纯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
这是最后的和第一个数据点带箭头连接取巧的办法,但这个问题的条件是如此具体。
对于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