Azzera filtri
Azzera filtri

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

6 visualizzazioni (ultimi 30 giorni)
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 Commenti
Medical Imaging
Medical Imaging il 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 il 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?

Accedi per commentare.

Risposta accettata

Adam Danz
Adam Danz il 2 Nov 2020
Modificato: Adam Danz il 20 Dic 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 Commenti
Medical Imaging
Medical Imaging il 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 il 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.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Interactive Control and Callbacks in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by