how to define an axis in other figure to plot in it

 채택된 답변

Adam
Adam 2015년 11월 3일
figure; hAxes = gca;
plot( hAxes,... )
allows you to plot on a different axes and is recommended anyway (giving an explicit axes handle) rather than relying on whatever the current axes happens to be.

추가 답변 (1개)

Jan
Jan 2015년 11월 3일
You have to obtain the handle of the axes you want to draw in. You can get it either by e.g. findobj, when you define a unique Tag property for the concerned axes.
figure;
axes('Tag', 'IWantToDrawHere');
Code of the other GUI:
figure;
uicontrol('Style', 'PushButton', 'Callback', @buttonCallback);
function buttonCallback(ButtonH, EventData)
AxesH = findobj('Tag', 'IWantToDrawHere');
if length(AxesH) ~= 1
warning('Cannot find my axes?!');
return;
end
plot(1:10, rand(1, 10), 'Parent', AxesH);
A drawback of this method is the run-time: If you have many open figures with a lot of objects, searching all of them to find the tag is not fast. So it would be better to store the axes handle in the UserData or ApplicationData of the figure and search it there.

댓글 수: 2

ITS NOT WORKER????? :( HOW I DO
What error message do you get?

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Creating, Deleting, and Querying Graphics Objects에 대해 자세히 알아보기

태그

질문:

2015년 11월 3일

댓글:

2015년 11월 3일

Community Treasure Hunt

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

Start Hunting!

Translated by