Gnuplot:如何绘制日期/时间图表

时间:2011-02-23 09:54:20

标签: gnuplot

我想绘制这类数据:

  • X轴:日期
  • Y轴:时间长度

数据看起来像这样:

22/02 51:10
25/02 63:10
01/03 50:55
23/03 52:10

我已经为X轴做了这个:

set xdata time
set timefmt "%d/%m"

但我不知道如何管理Y轴。

2 个答案:

答案 0 :(得分:5)

Tom所述,您只能使用一个timefmt。但是,如果可以将数据拆分为更多列,如下所示:

22/02 51 10
25/02 63 10
01/03 50 55
23/03 52 10

然后您可以通过直接计算绘制时间长度,如下所示:

plot 'file' u 1:($2 + $3/60)

绘制分钟,或者像这样:

plot 'file' u 1:($2/60 + $3/3600)

绘制小时数。

答案 1 :(得分:3)

来自?xdata

  

目前只有一个timefmt,   这意味着所有的时间/日期   列必须符合此格式。

因此,您需要稍微更改数据以符合一个设置。

类似

00:00:22/02 51:10:22/02
00:00:25/02 63:10:22/02
00:00:01/03 50:55:22/02
00:00:23/03 52:10:22/02

请注意,您可以使用命令行工具在gnuplot中执行此操作,请参阅here

编辑文件后,您可以这样阅读

set xdata time
set ydata time
set timefmt "%M:%S:%d/%m"
set format x "%d/%m"
set format y "%M:%S"
plot "date_time.dat" u 1:2 w l