Effacer les filtres
Effacer les filtres

Problem in plotting to the appdesigner UIAxes and showing error Reference to non-existent field 'UIAxes'.

6 vues (au cours des 30 derniers jours)
I am incorporating my matlab code to appdesigner and having issue plot in the UIaxes. to plot the spectrum I have written the code in matlab as shown below:
%% plot spectrum
hfig = figure();
findpeaks(abs(spectrum), f_axis,...
'MinPeakProminence', 4,'Annotate', 'extents',...
'MinPeakWidth', 8, 'SortStr', 'descend');
set(gca, 'color', 'w', 'Fontsize', 10.0, 'Fontweight', 'bold')
set(gcf,'color','w')
title('FID - Metabolite frequencies','Fontsize', 12.0, 'Fontweight','bold')
xlabel('Frequency (Hz)')
ylabel('SNR (a.u.)')
xlim([-1000 500]);
% to pull out plot axis
ax = gca;
below is the code I am trying to plot the "ax" in UIAxes as shown in image. Please let me know what is wrong I am doing.
FIDs = struct;
for k = 1:numel(app.index_fid)
[FIDs(k).frequency, FIDs(k).spectrum, FIDs(k).peaks, ...
FIDs(k).location, FIDs(k).FWHM, FIDs(k).prominence,...
FIDs(k).meanAbs, FIDs(k).meanStd,ax] = ...
FID_process(sTWIX(app.index_fid(k)), ...
sTWIX(app.index_fid(k)).files);
% imshow(hfig)
plot(app.UIAxes,ax);
%plot (hx,'parent',app.UIAxes,xlabel,ylabel);
end
it is showing error in front of line plot(app.UIAxes,ax);
which is "Reference to non-existent field 'UIAxes'".
  5 commentaires
Medical Imaging
Medical Imaging le 2 Nov 2020
thank you for the response. Here I have attached the app file please let me know if they are sufficient. Apprecioated if you could provide thensolution. I have been struggling since long and I am also beginner to the app design.
Thank you in advance.
Adam Danz
Adam Danz le 2 Nov 2020
You forgot instructions on how to reproduce the problem. What steps do I need to take to get the error you're seeing?

Connectez-vous pour commenter.

Réponse acceptée

Adam Danz
Adam Danz le 2 Nov 2020
Modifié(e) : Adam Danz le 20 Déc 2020
The first thing the LoadFileandprocessFIDButtonPushed does is delete its inputs (yikes!!).
There's almost never a reason to use clear or clc in a function. You're deleting the 'app' input which explains the error when you're trying to use plot(app.UIAxes,ax).
  4 commentaires
Medical Imaging
Medical Imaging le 2 Nov 2020
I have copied the clear clc from the matlab code file but now deleted and run again it is working fine now. Thank you.
Adam Danz
Adam Danz le 2 Nov 2020
That's what I thought.
When copying and using code you should take some time to understand what each line generally does.
Glad I could help.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Interactive Control and Callbacks dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by