how to reverse the axis in matlab??

22 views (last 30 days)
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??

Accepted Answer

SRI
SRI on 14 Jun 2014
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 Comment
Hemant Nagvanshi
Hemant Nagvanshi on 15 Jul 2014
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.

Sign in to comment.

More Answers (1)

Hemant Nagvanshi
Hemant Nagvanshi on 15 Jul 2014
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

Products

Community Treasure Hunt

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

Start Hunting!