axes handle does not exist in GUI

2 views (last 30 days)
Edward
Edward on 28 Sep 2013
Commented: Image Analyst on 18 Apr 2016
Hi, i have a GUI that has one axis.
I am trying to use
plot(handles.axes1,...)
but im getting error:
??? Reference to non-existent field
'axes1'.
Also, printing handles to the console shows that there is a handle for every other widget except the axis.
Why is this?
I'm planning on having more than one plot which is why i need to refer to it using a handle.

Answers (2)

Azzi Abdelmalek
Azzi Abdelmalek on 28 Sep 2013
Try to run the .fig file instead of the .m file
  2 Comments
Jan
Jan on 29 Sep 2013
Do you mean the other way around?
Image Analyst
Image Analyst on 29 Sep 2013
Running either the fig file from GUIDE or the m-file from MATLAB, either way I don't see that as causing the error. Because he has other widgets ID's attached to handles but not axes1, it's clear that there is no axes1 at all, and it's not caused by a "clear all" or something like that.

Sign in to comment.


Image Analyst
Image Analyst on 28 Sep 2013
Edited: Image Analyst on 28 Sep 2013
Obviously you are mistaken and there is no axes with the tag "axes1" - are you sure you used the right case - MATLAB is case sensitive. Put a breakpoint at that plot line, type handles in the command line, and show us what is there. Are you sure there is no member of handles that is listed there that in not associated with a widget?
  4 Comments
Kai Lutz
Kai Lutz on 18 Apr 2016
I'm having the same problem as Edward. It arose after I've renamed an axes in GUIDE. It updates the m-file, and creates a new create-fcn with the correct name but somehow handles are not updated. Of course the axes exists (gca reveals all axes) but has no tag. Edwards workaround works, but I guess there must be a problem somewhere in GUIDE.
Image Analyst
Image Analyst on 18 Apr 2016
I rename axes frequently. It will update everywhere that tag was in the m-file, including any existing callback and create functions. For me, it does not create a new callback or create function (it just renames existing ones) nor does it create any axes with no tag. And if you type handles in the command window, it does not have the axes's tag missing from the list of fields in handles - it is there with the new name. I'd be willing to believe you if you prove it by running PSR.exe (in Windows from the Start menu) and show you doing it.

Sign in to comment.

Categories

Find more on Interactive Control and Callbacks in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!