如何使用 hh:mm 格式的时间值向量在 MATLAB 中绘制图形

How to plot a graph in MATLAB using a vector of time values in hh:mm format

我有一个 hh:mm 格式的时间值向量以及一个表示 activity 水平的值向量。

例如:

x=[06:18, 07:58, 08:38, 09:18, 10:58];
y=[14, 28, 33, 68, 24];

是否可以在 Matlab 中绘制 y vs. x 的图形?

如果不是,是否有办法在图表上以 hh:mm 格式将 EPOCH 时间值的矢量显示为时间?

例如:

x= [1383260400, 1383261000, 1383261600, 1383262200, 1383262800];
y=[14, 28, 33, 68, 24];

在此先感谢您的帮助

这应该可以解决问题:

time={'06:18', '07:58', '08:38', '09:18', '10:58'};
data=[14, 28, 33, 68, 24];
ts = timeseries(data,time);
ts.TimeInfo.Format = 'HH:MM';
ts.TimeInfo.StartDate = '00:00';
plot(ts)

时间戳必须在元胞数组中,除此之外它应该很容易解释。

如果您想在同一个绘图和相同的时间戳中绘制更多线条,只需使用矩阵而不是数据向量:

data=[14, 28, 33, 68, 24; 7, 14, 35, 34, 12];

您也可以更改 TickLabels。这不需要时间序列对象

time={'06:18', '07:58', '08:38', '09:18', '10:58'};
data=[14, 28, 33, 68, 24];
plot(data)
set(gca,'XTickLabel', time)