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

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.

 采纳的回答

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 个评论

thanks
but let me explain more :
i have this function
function PlotSolution(X, sol)
% Cluster Centers
m = sol.Position;
k = size(m,1);
% Cluster Indices
ind = sol.Out.ind;
Colors = hsv(k);
for j=1:k
Xj = X(ind==j,:);
plot(Xj(:,1),Xj(:,2),'x','LineWidth',1,'Color',Colors(j,:));
hold on;
end
plot(m(:,1),m(:,2),'ok','LineWidth',2,'MarkerSize',12);
hold off;
grid on;
end
which it is in another for loop and update countiniously.
so deleting figure may be not good choice here.
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
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)
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?

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Graphics Performance 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by