说,我有一个示例信号,这是一个简单的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。
提前谢谢。
答案 0 :(得分:0)
这是一个涉及XTickLabel
的解决方案(在第一个子图之后插入):
Xlim = get(gca, 'xlim');
set(gca, 'XTick', linspace(Xlim(1), Xlim(2), 7);
set(gca, 'XTicklabel', 0:100:1200);
最佳