1

たとえば、単純な 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 の範囲である必要があります。

前もって感謝します。

4

1 に答える 1

0

XTickLabelこれは(最初のサブプロットの後に挿入する)を含む解決策です:

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

一番

于 2015-02-23T21:39:56.120 に答える