我试图在Matlab中绘制一些关于分钟而不是秒的数据作为格式化时间,即min.sec
。
我在接收到每个样本的地方都有实时数据流,也会发送以秒为单位的时间。然后我就时间绘制它们。现在,由于我的会议时间大约是15分钟,所以我不能在时间上进行策划。因此,我想根据时间(min.sec
)绘制它。我尝试将接收时间除以60,但是这给了我100分钟而不是60分钟(在0.9999之后的分钟增量而不是0.59分钟)。如何将其转换为能够以分钟为单位绘制时间?
这就是我所说的0.99分钟而不是0.59分。正常分钟有60个分区而不是100分。
修改 我尝试了m7913d的建议,这就是我得到的。
答案 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
以秒为单位表示。
上述脚本的输出是(右图是左图的缩放版):
Pre R2016b
可以使用t
代替datetime
,如下所示:
xtickformat