How can I change the scale of the Y-Axis Unit in a Spectrogram?
9 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Berthold Daubner
am 20 Aug. 2015
Beantwortet: the cyclist
am 20 Aug. 2015
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!
0 Kommentare
Akzeptierte Antwort
Star Strider
am 20 Aug. 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.
0 Kommentare
Weitere Antworten (1)
the cyclist
am 20 Aug. 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])
0 Kommentare
Siehe auch
Kategorien
Mehr zu Multirate Signal Processing finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!