【问题标题】:Exclude Date Gaps in Time Series Plot in Matlab在 Matlab 中排除时间序列图中的日期间隔
【发布时间】:2013-05-07 07:03:51
【问题描述】:

我正在制作高频价格数据的时间序列图。我的时间序列在上午 8 点到下午 4 点之间有每秒的报价,但跳过了晚上和周末。我怎样才能从我的情节中省略这些差距,以便每天的价格系列看起来“粘”在一起。

回答:

谢谢,@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);

我对回答问题很陌生——如果我违反了礼仪,请告诉我!

【问题讨论】:

  • 我不知道——将我的价格数据与 NaN 交错隐藏时间间隔?
  • 相反,NaN 会产生间隙。你检查过nnz(isnan(data)) 吗?无论如何,我们需要一些代码来重现该问题,以便进一步帮助您。

标签: matlab plot time-series


【解决方案1】:

您可以控制绘图的XTicks 以隐藏间隙。见this doc

【讨论】:

  • 嗨,链接失效了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-20
  • 2021-10-31
  • 2011-01-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多