Displaying series of images in an axes in a GUI

2 views (last 30 days)
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.

Accepted Answer

Paulo Silva
Paulo Silva on 22 Jun 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
  1 Comment
Krishna Kumar
Krishna Kumar on 23 Jun 2011
Thanks a lot Silva. Though this is not exactly what i want, I don't have any better option, so I would go by this. Thanks to all.

Sign in to comment.

More Answers (2)

Sean de Wolski
Sean de Wolski on 22 Jun 2011
Use the axes(H) command to set the current axis to your axis of choice
doc axes
  5 Comments
Sean de Wolski
Sean de Wolski on 22 Jun 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.
Krishna Kumar
Krishna Kumar on 23 Jun 2011
I suppose there isnt a better way. would go with Silva's suggestion.

Sign in to comment.


Krishna Kumar
Krishna Kumar on 23 Jun 2011
I got what I wanted from this thread, courtesy 'ImageAnalyst'. The solution is simple and meats my needs.
Thanks all:)

Categories

Find more on Specifying Target for Graphics Output in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!