我在 CentOS 6.6 上使用 gnuplot 4.4。
我在网上发现了许多示例,表明以下(注意使用%.3S)将使诸如“ 12:42:51.047”之类的时间戳能够被解析并用作 X 轴值:
set xdata time
set format x "%H:%M:%.3S"
set timefmt "%H:%M:%S"
Run Code Online (Sandbox Code Playgroud)
但是,我的输入不是 likeHH:MM:SS.mmm而是 like SSSSSSSSSS.mmm,其中不可或缺的部分是 UNIX 时间戳。
我尝试了以下操作,但解析似乎失败了,因为所有数据点都在“00:00:00”呈现:
set xdata time
set format x "%.3s"
set timefmt "%H:%M:%S"
Run Code Online (Sandbox Code Playgroud)
该手册没有给出任何可能的迹象,但同样,它也没有说这%H:M:%.3S会起作用。可以做我想做的事吗?如果是这样,如何?
必须仅为输出提供精度。对于解析,秒(或时间戳)被视为浮点数。但是似乎只支持从 4.6.4 版开始(在此处测试)以毫秒为单位读取时间戳。
但是,有一个解决方法:在语句中指定($1)而不是使 gnuplot 将该值视为正常的浮点数。请注意,我没有设置 any ,因为无论如何这种解决方法都会绕过它。1usingtimefmt
那么你也必须知道,在版本 5 之前,gnuplot 的时间参考是 1. Jan. 2000,所以你必须通过相应的偏移量进行更正(1. Jan 2000 的 Unix 时间戳是 946684800)。因此,以下适用于 gnuplot 4.4:
set xdata time
set format x '%d.%m.%Y %H:%M:%S'
plot 'file.dat' using ($1 - 946684800):2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2669 次 |
| 最近记录: |