How can I change the scale of the Y-Axis Unit in a Spectrogram?

9 visualizaciones (últimos 30 días)
This is my code: spectrogram(Data,window,[],Freqrange,Fs,'yaxis');
with Freqrange = 50:1000 and Fs = 12800
The problem is that the y-axis is drawn in kHz instead of Hz. How can I change the unit from kHz to Hz so that the Ticks are for example 50 instead of 0.05. Thanks for your help!

Respuesta aceptada

Star Strider
Star Strider el 20 de Ag. de 2015
I don’t have your data so I can’t run your code, but this idea should work:
t = 0:0.001:2;
x = chirp(t,100,1,200,'quadratic');
[s,f,t,p] = spectrogram(x,128,120,128,1e3);
figure(1)
sh = surf(p);
view(0, 90)
axis tight
yt = get(gca, 'YTick')
set(gca, 'YTick',yt, 'YTickLabel',yt*1E+4)
You might just need the last two lines (the ‘yt’ assignment and the set call). Experiment with that first, then a version of this entire code if that doesn’t work.

Más respuestas (1)

the cyclist
the cyclist el 20 de Ag. de 2015
You can manually set the tick locations and tick labels with commands like
set(gca,'XTick',[50 100 500 1000])
set(gca,'XTickLabel',[50 100 500 1000])

Community Treasure Hunt

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

Start Hunting!

Translated by