带有时间数据的 gnuplot 统计信息(从字符串转换为浮点数)作为单个参数失败

gnuplot statistics with time data (converted from string as float) fails as single argument

我有一个时间数据作为一列的数据文件。由于stats命令不兼容时间数据(Stats command not available in timedata mode),我们必须先做一些转换:

set xdata
stats 'data' u (strptime(fmt,strcol(1)))

但这不起作用。 gnuplot 打印以下错误:All points out of range

我不知道为什么,但我有想法使用第二个人工列:

stats 'data' u (strptime(fmt,strcol(1))):(1.0)

这按预期工作(为什么?),但有一个不必要的第二列。对我来说,这个 "workaround" 没问题,因为我没有大数据文件可以绘制,但如果有人...这可能会很烦人。

我是不是漏掉了什么?
为什么 gnuplot stats 会这样?
这是一个错误,值得报告吗?

可能您在调用 stats 命令之前设置了一个 yrange。如果您使用单列调用 stats,则数据将被视为 y 列。在你的第二次调用中,你给出了一个明确的第二列,时间数据被视为 x 列。

通话中

reset
fmt = "%Y..."
stats 'data' u (strptime(fmt,strcol(1)))

应该可以正常工作。