我对 gnuplot 的输入如下所示:
1:00am 1 10
1:00am 30 12
1:01am 60 18
1:01am 90 20
1:02am 120 21
...
第一列包含(我想要的)X 轴标签,而第二列包含 X 轴值。(实际上,我每秒有一行,所以很多行在标签列中有“1:00am”,然后是“1:01am”等)。
我可以使用以下方法绘制我关心的值:
gnuplot> plot "my_data.txt" using 2:3 with lines
我可以将 X 轴设置为每 30 分钟有一个刻度(和标签)(即 30 * 60 = 1800 秒),但它使用的标签是 X 轴值(类似于 3600 一小时)。
我无法得到的是每个刻度下显示的标签使用第一列中的值。我什至在 gnuplot 手册中找不到任何看起来很有希望的东西。我必须假设这是可能的,我只是不知道在哪里看。
编辑:
进展,我发现xticlabels()
了plot
. 问题是它似乎为每个 xtic(即我的数据集中每秒一个)绘制这些标签,而不是按set xtics
.
编辑和回答:
事实证明,gnuplot
它支持绘制时间序列数据。对于好奇:
set timefmt "%H:%M:%S"
set xdata time
这会导致 X 轴数据(一旦重新格式化以匹配该模式)被解释为时间序列数据。然后将其与
set xtics 3600
按照我的描述格式化 X 轴。