how to reverse the axis in matlab??

22 次查看(过去 30 天)
clc, clear all, close all;
fs = 400;
dt = 1/fs;
t = 0:dt:0.4;
x = sin(2*pi*50*t)';
l = length(x);
y = ceil(log2(l));
nfft = 2^y;
noverlap = 8;
figure(1)
window = 10;
spectrogram(x,window,noverlap,nfft,fs);
title('Window = 25 ms');
The above code plots a spectrogram such that Time is on Y-axis and Frequency on X-axis, I want reverse of it. How can I do that??

采纳的回答

SRI
SRI 2014-6-14
Hi Hemant Kindly Try this code you will get the result as you wish
fs = 400;
dt = 1/fs;
t = 0:dt:0.4;
x = sin(2*pi*50*t)';
l = length(x);
y = ceil(log2(l));
nfft = 2^y;
noverlap = 8;
figure(1)
window = 10;
[S F T P] = spectrogram(x,window,noverlap,nfft,fs);
surf(T,F,10*log10(P),'edgecolor','none');
title('Window = 25 ms');
view(0,90);
xlabel('Time (Seconds)');
ylabel('Hz');
  1 个评论
Hemant Nagvanshi
Hemant Nagvanshi 2014-7-15
time axis is on x-axis but the time are rage are not full. I mean to say spectrogram is not plotted for full time range, what about that.

请先登录,再进行评论。

更多回答(1 个)

Hemant Nagvanshi
Hemant Nagvanshi 2014-7-15
spectrogram(x,window,noverlap,nfft,fs); %plots freq in x-axis by default
spectrogram(x,window,noverlap,nfft,fs,'yaxis'); %plots freq in y-axis

标签

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by