How to copy a plot from a figure window to a GUI

I have a callback button that does some calculations and then shows 4 graphs in 4 windows. I would like to create a new GUI that gathering all these graphs into one window. In other word, I have two GUIs and I want to pass some graphs between them. How can I do that? Thanks.

Answers (1)

If you want to have a duplicate in the second location, use copyobj(). If you want to move them to the new location, set() the Parent property of the axes. (Note: if you are using legend and you are using R2014a or earlier, then Legend generates an axes with a hidden handle, so be sure to use findall() of the axes not just findobj())

4 Comments

Yes, I want to move the graphs to a new GUI and all the graphs have Legends, but the problem is I didn't get the idea of how to deal with the axes as a handle structure! If you can give an example of how to move a graph to a new GUI it will be appreciated. Thank you.
move_from = handle of first figure
move_to = handle of second figure
axchild = findall(move_from, 'type', 'axes');
set(axchild, 'Parent', move_to);
If you created your GUI using GUIDE, then the function that is the GUI name returns the figure handle. For example,
fig2 = MySecondGUI(); %start second GUI, grab its handle
and then you would use fig2 as handle of second figure in the code above.
I'm not sure if I get it right but I have tried this code: In the first GUI:
hfigure10 = get(figure(10));
setappdata(0,'hfigure10',hfigure10);
hfigure20 = get(figure(20));
setappdata(0,'hfigure20',hfigure20);
hfigure30 = get(figure(30));
setappdata(0,'hfigure30',hfigure30);
hfigure40 = get(figure(40));
setappdata(0,'hfigure40',hfigure40);
GUI_2_screen_results
Then in the second GUI:
axes(handles.axes1);
hfigure10 = getappdata(0,'hfigure10');
axes(handles.axes2);
hfigure20 = getappdata(0,'hfigure20');
axes(handles.axes3);
hfigure30 = getappdata(0,'hfigure30');
axes(handles.axes4);
hfigure40 = getappdata(0,'hfigure40');
After running the code, all the axes were empty and the command window shows that there are no errors in the code!
Can you please have a look on this link

Sign in to comment.

Categories

Find more on Creating, Deleting, and Querying Graphics Objects in Help Center and File Exchange

Products

Asked:

on 12 Aug 2015

Commented:

on 25 Aug 2015

Community Treasure Hunt

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

Start Hunting!