date - Gnuplot:午夜次x轴的日期
问题描述
我有多个具有相似数据的 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 除外),则 tic 将与 x1 轴相比未对齐。所以我的问题是 - 如何让 Gnuplot 在主要 x 轴上显示 HOUR 并在次要 x 轴上显示 DAY OF MONTH(午夜)。
解决方案
检查以下示例,并在 gnuplot 控制台help link
和help 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
结果:
推荐阅读
- json - 如何在 Go 中处理嵌套的 JSON 数据
- laravel - 如何路由视图和 css 中的所有图像以在 Laravel 中使用 IMGIX url?
- php - 如何解析在另一个文件夹中定义的 PHP 类
- flutter - 错误:在 _SomeWidget 小部件上方找不到正确的 Provider<>
- sql - 在连接列的多个值上连接两个表
- sql - 运行带有时间戳作为字符串的 sql 查询的 Azure ADF 管道错误
- sublimetext3 - Sublime Text 索引花费比平时更长的时间
- c++ - 我试图了解使用 MPI 库和 C++ 语言的并行代码和顺序代码之间的区别
- javascript - Chrome 扩展 chrome.storage.sync.get 未定义
- python-3.x - 儒略日数到python中的本地日期时间