gnuplot:如何从最后绘制的点添加水平线

gnuplot:如何从最后绘制的点添加水平线,gnuplot,Gnuplot,我有一些基于时间的值,它们在10000和0之间循环(大约一天两次)。 我已经画了这张图,但为了便于参考,我想从最后一点画一条水平线 我的数据(应在任一列上重复): 以及我的(预期)结果 检查以下各项。值myLast将包含数据的最后一个y值。绘制网格可以更简单 代码: ### horizontal line through last datapoint reset session $Data <<EOD -23.7897222222222 4832 -23.7138888888889

我有一些基于时间的值,它们在10000和0之间循环(大约一天两次)。
我已经画了这张图,但为了便于参考,我想从最后一点画一条水平线

我的数据(应在任一列上重复):

以及我的(预期)结果


检查以下各项。值
myLast
将包含数据的最后一个y值。绘制网格可以更简单

代码:

### horizontal line through last datapoint
reset session

$Data <<EOD
-23.7897222222222 4832
-23.7138888888889 4749
-23.7138888888889 4749
-23.5169444444444 4479
-23.4277777777778 4365
-23.4152777777778 4365
-23.2647222222222 4086
-23.1686111111111 3960
-23.1083333333333 3907
-23.1083333333333 3907
 ...
-0.777777777777778 4950
-0.777777777777778 4950
-0.6075 4601
-0.6075 4601
-0.421666666666667 4407
-0.334722222222222 4213
-0.284722222222222 4213
-0.284722222222222 4213
-0.112222222222222 3998
-0.112222222222222 3998
EOD

set title 'generated on 2020-10-06 16:00:00'

set xrange [-24:0]
set xtics -24, 4
set mxtics 4
set grid xtics,mxtics ls -1, ls -1
set yrange [0:10000]
set ytics 0, 2500

plot $Data u 1:(myLast=$2) w p pt 3 notitle, \
     myLast w l notitle
### end of code
穿过最后一个数据点的水平线 重置会话 $Data
set terminal png
set title 'generated on 2020-10-06 16:00:00'
set xrange [-24:0]
set xtics -24, 4
set ytics 0, 2500
set output 'xxx.png'
set arrow from graph 0.042,0 to graph 0.042,1 nohead
set arrow from graph 0.083,0 to graph 0.083,1 nohead
set arrow from graph 0.125,0 to graph 0.125,1 nohead
set arrow from graph 0.167,0 to graph 0.167,1 nohead
set arrow from graph 0.208,0 to graph 0.208,1 nohead
set arrow from graph 0.250,0 to graph 0.250,1 nohead
set arrow from graph 0.292,0 to graph 0.292,1 nohead
set arrow from graph 0.333,0 to graph 0.333,1 nohead
set arrow from graph 0.375,0 to graph 0.375,1 nohead
set arrow from graph 0.417,0 to graph 0.417,1 nohead
set arrow from graph 0.458,0 to graph 0.458,1 nohead
set arrow from graph 0.500,0 to graph 0.500,1 nohead
set arrow from graph 0.542,0 to graph 0.542,1 nohead
set arrow from graph 0.583,0 to graph 0.583,1 nohead
set arrow from graph 0.625,0 to graph 0.625,1 nohead
set arrow from graph 0.667,0 to graph 0.667,1 nohead
set arrow from graph 0.708,0 to graph 0.708,1 nohead
set arrow from graph 0.750,0 to graph 0.750,1 nohead
set arrow from graph 0.792,0 to graph 0.792,1 nohead
set arrow from graph 0.834,0 to graph 0.834,1 nohead
set arrow from graph 0.875,0 to graph 0.875,1 nohead
set arrow from graph 0.917,0 to graph 0.917,1 nohead
set arrow from graph 0.958,0 to graph 0.958,1 nohead
plot 'xxx.dat' notitle with points pt 3
### horizontal line through last datapoint
reset session

$Data <<EOD
-23.7897222222222 4832
-23.7138888888889 4749
-23.7138888888889 4749
-23.5169444444444 4479
-23.4277777777778 4365
-23.4152777777778 4365
-23.2647222222222 4086
-23.1686111111111 3960
-23.1083333333333 3907
-23.1083333333333 3907
 ...
-0.777777777777778 4950
-0.777777777777778 4950
-0.6075 4601
-0.6075 4601
-0.421666666666667 4407
-0.334722222222222 4213
-0.284722222222222 4213
-0.284722222222222 4213
-0.112222222222222 3998
-0.112222222222222 3998
EOD

set title 'generated on 2020-10-06 16:00:00'

set xrange [-24:0]
set xtics -24, 4
set mxtics 4
set grid xtics,mxtics ls -1, ls -1
set yrange [0:10000]
set ytics 0, 2500

plot $Data u 1:(myLast=$2) w p pt 3 notitle, \
     myLast w l notitle
### end of code