MATLAB Answers

how to put function's out put plot in Guide axes

10 views (last 30 days)
alireza kooshafar
alireza kooshafar on 16 Nov 2018
Commented: Adam Danz on 16 Nov 2018
Hi all
I have a function which has a figure as output . now I'm trying to use this function as part of my GUI and i want to put this figure in axes of my GUI.thanks for any solotion.

  0 Comments

Sign in to comment.

Accepted Answer

Adam Danz
Adam Danz on 16 Nov 2018
Suppose your function produces the following figure
figure;
axHand = axes;
hold(axHand, 'on')
plot(rand(10));
plot(rand(10), 'o')
and your GUI figure axis is named 'guiAxisHandle'. To copy everything in 'axHand' to 'guiAxisHandle',
copyobj(axHand.Children, guiAxisHandle)
Now you can delete the orginal figure.
delete(axHand.Parent)

  4 Comments

Show 1 older comment
Adam Danz
Adam Danz on 16 Nov 2018
In that case, plot directly to the GUI figure (which is the better solution anyway). If your GUI axis is named guiAxisHandle,
plot(guiAxisHandle, Xj(:,1),Xj(:,2), ...)
plot(guiAxisHandle, m(:,1),m(:,2), ...)
But first you'll need to get the handle to your gui axis. To do that, use guidata() and the handle to your GUI.
H = guidata(GUIhandle);
guiAxisHandle = H.axis1 % I don't know what your axis handled is named
alireza kooshafar
alireza kooshafar on 16 Nov 2018
thanks again dear adam
I dont know why but the result in axis is just the second plot and nothing plotted for the first plot(which is in the loop)
Adam Danz
Adam Danz on 16 Nov 2018
I don't know what axis you're referring to and I don't know what the first and second plot are nor do I know what loop your're talking about. I assume you made some changes to your code so 1) could you share the updated code and 2) try to explain what you'd like it to do and 3) what's wrong with it?

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by