【发布时间】:2009-12-06 13:04:12
【问题描述】:
我对 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 手册中找不到任何看起来很有希望的东西。我不得不假设这是可能的,我只是不知道去哪里找。
编辑:
进度,我发现plot 的xticlabels() 参数。问题是它似乎为每个 xtic(即我的数据集中每秒一个)绘制这些标签,而不是在 set xtics 定义的间隔上。
编辑和回答:
原来gnuplot 支持绘制时间序列数据。对于好奇的人:
set timefmt "%H:%M:%S"
set xdata time
这会导致 X 轴数据(一旦重新格式化以匹配该模式)被解释为时间序列数据。然后结合
set xtics 3600
按照我的描述格式化 X 轴。
【问题讨论】:
标签: gnuplot