How to copy a plot from a figure window to a GUI
Show older comments
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)
Walter Roberson
on 12 Aug 2015
1 vote
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
Haitham
on 12 Aug 2015
Walter Roberson
on 12 Aug 2015
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.
Haitham
on 12 Aug 2015
Haitham
on 25 Aug 2015
Categories
Find more on Creating, Deleting, and Querying Graphics Objects 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!