【问题标题】:MATLAB time series plot xticksMATLAB 时间序列图 xticks
【发布时间】:2018-01-13 07:38:12
【问题描述】:

我正在 MATLAB 中绘制脑电图时间序列。向量为 4097*1。记录信号的持续时间为 23 秒。 MATLAB plot 函数将信号的幅度绘制在 y 轴上,将样本数绘制在 x 轴上。但是,我需要 x 轴上的时间,比例为 5 秒。该图在 x 轴上显示了时间(来自论文)。 我尝试使用“xticks”来跟踪代码,但 x 轴保持不变。

hFig = figure;
hAx = gca;
ts = 0:length(d); % the data time series
stairs(ts(2:end), d, 'LineWidth', 2);
xticks ([0 5 10 15 20 25 30])
hAx.XLabel.String = 'Time (Seconds)';

感谢您的支持。谢谢。

【问题讨论】:

  • 当你使用xticks函数时,你得到了什么?
  • set(gca,'XTick',0:5:30) 怎么样?
  • 这不仅仅是选择 x-ticks 的问题,轴的缩放比例不正确。也许@SardarUsama 所说的可以在下面执行我的解决方案后添加,以提供 OP 想要的精确刻度。
  • 是的,@SardarUsama,xticks ([0 5...]) 是设置 x 轴刻度值,但我错过了适当的轴缩放,正如 crazyGamer 所建议的那样。谢谢大家。

标签: matlab plot


【解决方案1】:

您打算做的是正确缩放您的 X 轴。请尝试以下操作:

hFig = figure;
hAx = gca;
ts = 0:length(d)-1; % the X axis of data time series
% Scale the X-axis to 23 seconds
ts = ts * (23 / length(d));
stairs(ts, d, 'LineWidth', 2);
hAx.XLabel.String = 'Time (Seconds)';

现在,您的 X 轴是一个简单的整数列表,等于样本数。像上面那样正确缩放它们应该会给你真实的 X 轴。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-17
    • 2019-11-29
    • 2021-03-31
    • 2015-02-10
    • 2013-11-29
    • 2017-12-29
    • 1970-01-01
    相关资源
    最近更新 更多