以分钟格式绘制格式化时间(min.sec)

时间:2017-06-18 07:58:56

标签: matlab

我试图在Matlab中绘制一些关于分钟而不是秒的数据作为格式化时间,即min.sec

我在接收到每个样本的地方都有实时数据流,也会发送以秒为单位的时间。然后我就时间绘制它们。现在,由于我的会议时间大约是15分钟,所以我不能在时间上进行策划。因此,我想根据时间(min.sec)绘制它。我尝试将接收时间除以60,但是这给了我100分钟而不是60分钟(在0.9999之后的分钟增量而不是0.59分钟)。如何将其转换为能够以分钟为单位绘制时间?

这就是我所说的0.99分钟而不是0.59分。正常分钟有60个分区而不是100分。enter image description here

修改 我尝试了m7913d的建议,这就是我得到的。

  1. 首先我在不改变刻度的情况下以秒为单位绘制信号的时间(正常plot(t,v)

  2. 我在情节中添加了datetick('x', 'mm:ss');(Matlab 2015b不支持Xtick格式)

  3. 以下是结果enter image description here

    的屏幕截图

    以秒为单位的时间最多为80秒,当转换为分钟时,它应该给我1分20秒作为最大x轴限制。但这种情况并非如此。我试图构造一个t向量(即t=0:seconds(3):minutes(3)),但我无法将其链接到我的秒向量,当从串口接收到新样本时,它将不断更新。 感谢

1 个答案:

答案 0 :(得分:1)

您可以使用xtickformat指定所需的x标签格式,如下所示:

stat filename

请注意,我使用seconds方法返回一个duration对象,以便向Matlab表明% generate a random signal (in seconds) t = 0:5:15*60; y = rand(size(t)); plot(seconds(t),y) % plot your signal, making it explicit that the t is expressed in seconds xtickformat('mm:ss') % specify the desired format of the x labels 以秒为单位表示。

上述脚本的输出是(右图是左图的缩放版):

enter image description here enter image description here

Pre R2016b

可以使用t代替datetime,如下所示:

xtickformat