Problem in plotting to the appdesigner UIAxes and showing error Reference to non-existent field 'UIAxes'.
6 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Medical Imaging
le 2 Nov 2020
Modifié(e) : Adam Danz
le 20 Déc 2020
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.![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/400714/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/400714/image.png)
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
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?
Réponse acceptée
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).
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/400784/image.png)
4 commentaires
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.
Plus de réponses (0)
Voir également
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!