【问题标题】:How to change spectrogram's x-axis ticks?如何更改频谱图的 x 轴刻度?
【发布时间】:2015-02-23 20:12:11
【问题描述】:

比如说,我有一个示例信号,它是一个简单的 1x1001 数组。我将它绘制在正常的线图上,在它的频谱图旁边(见下文)。现在,如您所见,线图的 x 轴以信号长度表示。如何与频谱图共享此 x 轴?不幸的是,这里提出的解决方案:https://stackoverflow.com/questions/28676100/set-the-same-ticks-range-for-each-subplots-x-axis 不起作用,给我答案的人建议我创建一个新的特定主题。

无论如何,这是我的代码和工作示例:

t = 0:0.001:1; % time in milliseconds
f0 = 100;
f1 = 400;               
signal = chirp(t, f0, 1, f1, 'q', [], 'convex');

frequencies = 0:.1:500;
window = 256;
NFFT = 255;

figure;
p1 = subplot(2, 1, 1);
spectrogram(signal, window, NFFT, frequencies, 1E3, 'yaxis'); 
axis xy; axis tight; colormap(jet); view(0,90);
xlabel('Time');
ylabel('Frequency (Hz)');

p2 = subplot(2, 1, 2);
plot(signal);
xlabel('Time (ms)');
ylabel('Amplitude (uV)');

频谱图的 x 轴刻度应介于 0 到 1000 之间。

提前谢谢你。

【问题讨论】:

    标签: matlab plot spectrogram


    【解决方案1】:

    这是一个涉及XTickLabel 的解决方案(在您的第一个子图之后插入):

    Xlim = get(gca, 'xlim');
    set(gca, 'XTick', linspace(Xlim(1), Xlim(2), 7);
    set(gca, 'XTicklabel', 0:100:1200);
    

    最好的

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-29
      • 1970-01-01
      • 2021-08-21
      • 2018-05-27
      • 1970-01-01
      • 2017-02-04
      • 1970-01-01
      相关资源
      最近更新 更多