我似乎无法让gnuplot正确绘制我的时间数据。 (我使用的是4.6版,补丁级别3。)
对于MWE(嗯,非工作......),输入文件
reset
set xdata time
set timefmt "%H:%M:%S"
set format x "%H:%M:%S"
plot '-' using ($1):($2) with lines lw 3
15:36:12 1.0
15:43:17 3.0
16:12:02 2.0
e
显然,gnuplot将小时数解释为秒,忽略其余时间。我已经尝试了一堆其他格式字符串(也是单引号/双引号),但gnuplot似乎忽略了除第一个数字之外的所有内容。
我的格式有问题,或者这是一个错误,还是其他什么?
答案 0 :(得分:3)
使用$1
,您明确地选择第一列的数字值,该值绕过任何gnuplot自动记录以适当地解释列值(在您的情况下为时间值)。只需使用using 1:2
:
reset
set xdata time
set timefmt "%H:%M:%S"
set format x "%H:%M:%S"
plot '-' using 1:2 with lines lw 3
15:36:12 1.0
15:43:17 3.0
16:12:02 2.0
e
仅在使用相应列中的实际数值进行计算时才使用语法$1
。 $1
是column(1)
的快捷方式,gnuplot也知道stringcolumn(1)
和timecolumn(1)
用于其他目的。