2013-05-06 188 views
0

我正在制作高频价格数据的时间序列图。我的时间系列在每天上午8点到下午4点之间都有报价,但是会跳过晚上和周末。我怎样才能从我的情节中忽略这些差距,以便每一天的价格系列似乎都是“粘在一起”的。在Matlab中排除时间序列图中的日期间隔

回答:

谢谢,@Shai!我去的东西是这样的:

% price, year, month, day, hour, minute, second are all column vectors of equal length 
% exactly N price quotes per trading day (8am-4pm, excluding weekends) 
date = datenum([year, month, day, hour, minute, second]); 
price = price; 
figure; 
plot(price); 
tick_index = 1:N:length(date); % my ticks are placed at the start of each trading day 
tick_label = datestr(date(tick_index), 6); 
set(gca, 'XTick', tick_index); 
set(gca, 'XTickLabel', tick_label); 

我很新,以回答问题 - 如果我违反礼仪请让我知道!

+0

你有NaN吗? – Oleg 2013-05-06 18:10:07

+0

我不会 - 将我的价格数据与NaN交织来隐藏时间差距? – 2013-05-06 19:48:31

+0

相反,NaNs会产生差距。你用'nnz(isnan(data))'检查了吗?无论如何,我们需要一些代码来重现问题,以便能够进一步帮助您。 – Oleg 2013-05-06 19:51:58

回答

1

您可以控制您的阴谋的XTick s来隐藏差距。见this doc