Gnuplot:添加一个填充矩形以突出显示绘图区域(x 轴上的 date/time)

Gnuplot: add a filled rectangle to highlight region of plot (date/time on x axis)

我需要 Gnuplot 方面的帮助:

我有一个包含以下内容的文件,看起来像下一行。 数据以逗号分隔,但第一列的日期时间如下:

20201-03-08 18:03:01, SAT1, 1002, 900, 10
.
.
.

这是我的数据图:

Plot_1

这是我想要的:突出显示两个区域,并带有标签。第一个区域将跨越 Y 轴上的 +/-50Hz 和整个 x 轴。第二个区域就是其他所有区域。

Wanted Plot Features

当我尝试简单地绘制一个矩形时,我可以做到 set object rectangle from 0, 50 to *,-50 但这不起作用...有什么建议吗?如果有人可以帮助我如何指定 x-range 如果它是 Date/Time...

我想我可以弄清楚其余的

编辑:这是我的完整 gnuplot 代码:

set term pngcairo size 1600,900
set datafile sep ','
set datafile missing "NaN"

set key font ',17'
set key left top
#set key opaque

set object 1 rectangle from graph 0,50 to graph 1,-50
set object 1 fillstyle solid fillcolor "light-green"
set object 1 behind

set title "Offsets adjust" font 'Ubuntu-Mono-Regular, 24'

set timestamp "Graph Generated (UT):  \n%Y-%m-%d   %H:%M:%S" top font 'Arial,18'
set timefmt "%Y-%m-%d %H:%M:%S"
set xdata time
set xlabel "Date\nTime" font 'Consolas,12'
set ylabel 'Amount of Change (Hz)' font 'Consolar,16'
set xtics font 'Consolas,16'
set ytics 20 font 'Consolas,16'
set yrange [-150:150]
set grid
set border back

set xzeroaxis linetype 2 linewidth 2.5

set output "/home/temp/temp/abode/beacon_offsets.png"

plot "/home/temp/temp/abode/SAT_1_2200_offset_trend.txt" using 1:7 title 'SAT_1 Offset' with points ps 2 lw 4 lc 8, \
    "/home/temp/temp/abode/SAT_1_2200_offset_trend.txt" using 1:7:5 with labels font ',18' offset 1,1 notitle, \
    "/home/temp/temp/abode/SAT_2_2200_offset_trend.txt" using 1:7 title 'SAT_2 Offset' with points ps 2 lw 4 lc 7, \
    "/home/temp/temp/abode/SAT_2_2200_offset_trend.txt" using 1:7:5 with labels font ',18' offset 1,1 notitle, \
    "/home/temp/temp/abode/SAT_3_2200_offset_trend.txt" using 1:7 title 'SAT_3 Offset' with points ps 2 lw 4 lc 6, \
    "/home/temp/temp/abode/SAT_3_2200_offset_trend.txt" using 1:7:5 with labels font ',18' offset 1,1 notitle, \
    "/home/temp/temp/abode/SAT_4_2200_offset_trend.txt" using 1:7 title 'SAT_4 Offset' with points ps 2 lw 4 lc 5, \
    "/home/temp/temp/abode/SAT_4_2200_offset_trend.txt" using 1:7:5 with labels font ',18' offset 1,1 notitle, \
    "/home/temp/temp/abode/SAT_5_2200_offset_trend.txt" using 1:7 title 'SAT_5 Offset' with points ps 2 lw 4 lc 4, \
    "/home/temp/temp/abode/SAT_5_2200_offset_trend.txt" using 1:7:5 with labels font ',18' offset 1,1 notitle, \
    "/home/temp/temp/abode/SAT_6_2200_offset_trend.txt" using 1:7 title 'SAT_6 Offset' with points ps 2 lw 4 lc 3, \
    "/home/temp/temp/abode/SAT_6_2200_offset_trend.txt" using 1:7:5 with labels font ',18' offset 1,1 notitle

这是截图:

https://i.imgur.com/97iX5y3.png

在这种情况下,您想要填充绘图的整个宽度,因此您可以使用 graph 而不是沿 x 轴的时间坐标。 y轴(其实就是“firsty轴”)坐标可以直接使用。您还需要确保绘制矩形 behind 图。

set object 1 rectangle from graph 0, first 50 to graph 1, first -50
set object 1 fillstyle solid fillcolor "light-green"
set object 1 behind