Filter löschen
Filter löschen

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

6 Ansichten (letzte 30 Tage)
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 Kommentare
Medical Imaging
Medical Imaging am 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 am 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?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Adam Danz
Adam Danz am 2 Nov. 2020
Bearbeitet: Adam Danz am 20 Dez. 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 Kommentare
Medical Imaging
Medical Imaging am 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 am 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Interactive Control and Callbacks 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!

Translated by