date - gnuplot 叠加同一时间不同日期的图?

标签 date time gnuplot overlay

我有两个两天且同一时间的数据文件

日期1数据.csv

2018.02.03.18:23,4
2018.02.03.19:23,22
2018.02.03.20:23,12
2018.02.03.21:23,3
2018.02.03.22:23,16

日期2数据.csv

2018.02.04.18:23,1
2018.02.04.19:23,5
2018.02.04.20:23,22
2018.02.04.21:23,5
2018.02.04.22:23,14

如果我绘制它们,我会得到这个图,其中数据一天又一天地绘制。 image
如何仅根据时间而不是日期绘制它们,以便它们同时重叠?这可能吗?我不想在多个窗口中绘制它们。

这是我用于绘图的代码:

set datafile separator ","
set terminal pngcairo size 500,200 enhanced font 'Verdana,10' linewidth 1
set output 'test.png'
set xdata time
set timefmt "%Y.%m.%d.%H:%M"
set format x "%H:%M"
plot 'date1data.csv' using 1:2 w lines lw 2 t "day1", 'date2data.csv' using 1:2 w lines lw 2 t "day2"

最佳答案

您可以将 using 1:2 替换为删除第 1 列时间字符串的日期部分的函数:

set timefmt "%H:%M"
f(v) = substr(stringcolumn(v),12,16)
plot 'date1data.csv' using (f(1)):2 w lines lw 2 t "day1",\
     'date2data.csv' using (f(1)):2 w lines lw 2 t "day2"

enter image description here

关于date - gnuplot 叠加同一时间不同日期的图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50378193/

相关文章:

php - 在 PHP 中将一种日期格式转换为另一种日期格式

java - Android 时区默认返回错误值

gnuplot 新直方图 : how to set titles font size?

charts - Gnuplot,饼图,将标签放在左侧,看不到全部

从数据文件绘制 3D 曲线

javascript - 这是确定日期范围是否在 Javascript 中从开始日期到一年以内结束的正确方法吗?

sql - PostgreSQL 查询 WHERE 日期大于 3 年

java - java.sql.Timestamp 可以处理的最大年份是多少?

datetime - 如何处理新时区?

php - 在一天中的不同时间段运行相同的 MYSQL 查询,是否有更好的方法?