Displaying series of images in an axes in a GUI
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Hi all, I have a GUI which has a axes in it apart from other elements. The functions called in callbacks generate different figures, say 5 in number. I want to display them in the axes one by one,such that user can see the previous or next image by pushing two push buttons provided. What is the best way to do this. Thanks in advance.
0 comentarios
Respuesta aceptada
Paulo Silva
el 22 de Jun. de 2011
function testimg
figure
pbh = uicontrol(gcf,'Style','pushbutton','String','Next',...
'Position',[10 20 60 40],...
'callback',@newimg);
pbh1 = uicontrol(gcf,'Style','pushbutton','String','Previous',...
'Position',[10 50 60 40],...
'callback',@oldimg);
axes
text(0.2,0.5,'Press the buttons Next or Previous to see the images')
ImGN=1;
function newimg(obj,event)
showimg
ImGN=ImGN+1;
if ImGN>5
ImGN=1;
end
end
function oldimg(obj,event)
showimg
ImGN=ImGN-1;
if ImGN<1
ImGN=5;
end
end
function showimg(obj,event)
switch ImGN
case 1
spy
case 2
[X,Y,Z] = peaks(30);
surfc(X,Y,Z)
case 3
x = -2.9:0.2:2.9;
bar(x,exp(-x.*x),'r')
case 4
x = -2.9:0.2:2.9;
plot(x,sin(x))
case 5
t = 0:pi/50:10*pi;
plot3(sin(t),cos(t),t)
grid on
axis square
end
end
end
Más respuestas (2)
Sean de Wolski
el 22 de Jun. de 2011
Use the axes(H) command to set the current axis to your axis of choice
doc axes
5 comentarios
Sean de Wolski
el 22 de Jun. de 2011
Well if you already have the data then just cla (clear axis) and call plot again with the new data?
That seems to simple a solution, I don't think I'm understanding you correctly.
Ver también
Categorías
Más información sobre Specifying Target for Graphics Output en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!