Gnuplot:午夜第二个 x 轴上的日期

Gnuplot: date at secondary x-axis at midnight

我有多个具有相似数据的 CSV 文件: (09082020.CSV、10082020.CSV、11082020.CSV、12082020.CSV 等)

DateTime;Temperature[deg C]
16.06.2020 08:00;5.12
16.06.2020 08:01;5.67
16.06.2020 08:02;6.78
16.06.2020 08:03;7.99
16.06.2020 08:04;7.55
...

在 Gnuplot 中 x1 和 x2 轴设置为:

set timefmt "%d.%m.%Y %H:%M"
set xdata time
set x2data time
set format x "%H"
set format x2 "%d"
set xtics 3600
set x2tics 3600
set xlabel "Hour"
set x2label "Day of month"

这会在 x 轴和 x2 轴上产生等量的抽动。我希望 x2 轴上的“日期”标签仅在午夜 (00:00) 出现,而​​不是每小时出现一次。如果我将参数“set x2tics”更改为其他值(3600 除外),则与 x1 轴相比,tic 将错位。所以我的问题是 - 如何让 Gnuplot 在主 x 轴上显示 HOUR 并在辅助 x 轴上显示日期(午夜)。

检查以下示例并在 gnuplot 控制台中 help linkhelp format。我猜你正在寻找这样的东西。

代码:

### link x2 time axis to x time axis
reset session
myTimeFmt = "%d.%m.%Y %H:%M"

# create some test data
set print $Data
    do for [i=1:1000] {
        print sprintf("%s %g", strftime(myTimeFmt,time(0)+i*250), i%200)
    }
set print

set xlabel "Hour"
set format x "%H" timedate

set x2label "Day of month"
set format x2 "%d" timedate
set x2tics 3600*24
set link x2 via x inverse x

plot $Data u (timecolumn(1,myTimeFmt)):2 w l notitle

### end of code

结果: