axes handle does not exist in GUI

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

Do you mean the other way around?
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

Im not mistaken, i outputted handles to the console and there was no axes handle. I solved this problem by having an axes create_fcn and setting handles.axes1=hObject; and updating handles that way. Im not sure what caused this problem. If i used more than one plot then there is automatically a handle for the second plot but not the first which is strange. This problem occurs even when i delete all plots and add them back. Thanks for your help
Should not be necessary. When in GUIDE, right-click on the axes you think is axes1. Then view the callback. It will then send you to the m-file. What is the name of the callback function it puts you on in the m-file?
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.
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

Asked:

on 28 Sep 2013

Commented:

on 18 Apr 2016

Community Treasure Hunt

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

Start Hunting!