在Matlab中绘制不同长度的时间序列

时间:2016-03-09 12:34:40

标签: matlab plot time-series missing-data

使用Matlab我想绘制存储在11933x5 double(Data2)中的五个索引的返回值。问题是,该系列具有不同的长度,这意味着对于五个索引中的四个,第一个数据点不可用。 我想这就是为什么以下代码只绘制一个系列

dates = Data(:,1);
MATLABdates = x2mdate(dates);

MSCI = Data(:,2);
SaP = Data(:,5);
BRIC = Data(:,6);
HFRX = Data(:,9);
LPX = Data(:,10);

Data2 = horzcat(MSCI,SaP, BRIC, HFRX, LPX);

datetext = datestr(MATLABdates); 
datetext = cellstr(datetext);

DataT = table(MSCI,SaP,BRIC,HFRX,LPX);
DataT.Properties.RowNames = datetext;

Series = DataT.Properties.VariableNames;

figure
plot(MATLABdates, ret2price(price2ret(Data2)))
datetick('x')
xlabel('Date')
ylabel('Index Value')
title ('Relative Daily Index Closings')
legend(Series, 'Location', 'NorthWest')

这是结果图: enter image description here

缺少四个较短的系列。

有谁知道我要做什么才能看到所有这些系列(其中一些只是稍后开始?

非常感谢!

1 个答案:

答案 0 :(得分:1)

你可以使用:

hold on
plot(x1,y1)
plot(x2,y2)
....
plot(nx,yn)
hold off

or simply
plot(x1,y1,'r',x2,y2,'b',....xn,yn,'<line options>')