在MATLAB中使用日期

时间:2017-07-31 09:59:34

标签: matlab datetime plot matlab-figure

如何让MATLAB在图的x轴上显示日期和时间?

我试图制作一个以cm为单位显示水位(WL)的图,如图所示:

Water level over time. indices on x-axis, water level on y-axis

现在,我的情节的x轴只显示指数,但我希望它按顺序显示日期和时间:年,月,日,小时,分钟。只要它的可读性和顺序,格式就不那么重要了。我也希望能够控制滴答声,这样用户就不会被淹没。

在MATLAB中,我一直以下列方式处理日期:

  1. 包含 yyyyMMddhhmm 格式的DATES数组的数组。
  2. 包含 yyyy,MM,dd 等的多个数组。
  3. WL和我的DATES数组具有相同的长度,并且它们的排列使WL(i)对应DATES(i)。现在,我的代码看起来像这样:

    figure(1)
    hold on
    plot(WL)
    xlabel('Date')
    ylabel('WL [cm]')
    

2 个答案:

答案 0 :(得分:0)

您可以分两步完成此操作:

1)将您的日期/时间值转换为datenums

2)使用datetick以您想要的方式制作x轴

答案 1 :(得分:0)

假设您的WLDATES如下所示:

WL = [6 4 5];
DATES = [201412241842
    201412251830
    201412261921];

您可以执行以下操作将DATES转换为datetime格式:

dates = datetime(num2str(DATES),'InputFormat','yyyyMMddHHmm');

然后你只是绘制它:

plot(dates,WL)

enter image description here