如何使用 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)
我有一个 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)