How to plot spectrogram on Matlab App Designer with UIAxes?
显示 更早的评论
Hello, I'm trying to use spectrogram function to plot spectrogram with Matlab App Designer, not the old GUI. This means I got uifigures and uiaxes, not figure and axes in the old GUI system. There are some answers about using spectrogram function in the old GUI system, which are using axes() function to set current axes, unfortunately, I haven't seen something about using spectrogram function in App Designer, can anyone help, plz?
采纳的回答
更多回答(1 个)
Please see below for an update using AppDesigner - Using 2021a
Requires signal processing toolbox - but spectrogram outputs should be similar to pspectrum outputs
% dimensions of app.dat2plot = [1 2886144]
% Sampling frequency is 4kHz
[S,F,T] = pspectrum(transpose(app.dat2plot),4000,'spectrogram', 'FrequencyLimits',[0 50],'MinThreshold',-110);
imagesc(app.UIAxes2, T, flipud(F), rot90(log(abs(S')))); %plot the log spectrum
set(app.UIAxes2,'YDir', 'normal'); % flip the Y Axis
Outputs image below in AppDesigner
1 个评论
Andrew Cline
2022-12-1
Thanks for this answer. Never would have figured this out myself.
Also, you can do this afterwards to fit it to the window
axis(app.UIAxes2,'tight')
类别
在 帮助中心 和 File Exchange 中查找有关 大型图像文件 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!