how can I change the current axes in a GUI?

202 次查看(过去 30 天)
Hi, how can I change the current axes in a GUI? I try to use the line function, but I don’t know how to activate the right axes for plotting in the wanted figure. I guess, there should be a simple solution, but I can’t find.
Greetings
Volker
  3 个评论
Rik
Rik 2022-6-13
Comment posted as flag by Xb wang:
This ansewer is very useful.I spend servral days to find tha ways.Tank you !

请先登录,再进行评论。

采纳的回答

Paulo Silva
Paulo Silva 2011-2-2
Here's one example:
axes(handles.axes2); %set the current axes to axes2
axes(h) makes existing axes h the current axes and brings the figure containing it into focus. It also makes h the first axes listed in the figure's Children property and sets the figure's CurrentAxes property to h. The current axes is the target for functions that draw image, line, patch, rectangle, surface, and text graphics objects.
  8 个评论
Ryan
Ryan 2014-8-23
Thanks Peters, the setting in GUIDE were my issue

请先登录,再进行评论。

更多回答(4 个)

thomeou
thomeou 2013-6-20
Thanks for the post I wasted one and a half day with this same problem

Chris Rorden
Chris Rorden 2013-7-22
Thanks, I also wasted a lot of time on this.

Itziar Uzqueda
Itziar Uzqueda 2017-2-23
Hi! My problem is that when I try to plot an animatedline into axis1, instead of plotting there, another window is opened. also, when I try to use axes(handles.axes1) it says:
ans =
handle to deleted Axes
Mi code is here:
function Medir_Callback(hObject, eventdata, handles)
s = abrir_puerto();
handles.x=1:20;
handles.h=animatedline('Marker','o','LineWidth',1,'Color','k');
for i=1:(length(handles.x))
handles.distancia(i)=fscanf(s,'%d');
addpoints(handles.h,i,handles.distancia(i));
drawnow;
end
cerrrar_puerto(s);
I want it to be plotted in my Matlab GUI.
Thanks, Itziar
  2 个评论
Adam
Adam 2017-2-23
You should start a new question rather than post this as an answer.
You aren't specifying any axes though.
doc animatedline
In common with most plotting functions this includes a syntax that allows you to specify the axes handle as the first argument. Use it!
Itziar Uzqueda
Itziar Uzqueda 2017-2-23
oh, sorry i didn't notice, i'm new in this kind of matters.
The probelm is that if i specify axes in animatedlines like this it comes to the error below.
handles.h=animatedline('Marker','o','LineWidth',1,'Color','k','Parent', handles.axes1);
Error using animatedline While setting property 'Parent' of class 'AnimatedLine': Cannot set property to a deleted object

请先登录,再进行评论。


nadji hadroug
nadji hadroug 2018-2-19
You can see this example : x = 1000*rand(40,1); y = rand(40,1); scatter(x,y) xtickangle(45) ytickangle(90)

类别

Help CenterFile Exchange 中查找有关 Animation 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by