Displaying series of images in an axes in a GUI
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
Risposta accettata
Paulo Silva
il 22 Giu 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
Più risposte (2)
Sean de Wolski
il 22 Giu 2011
Use the axes(H) command to set the current axis to your axis of choice
doc axes
5 Commenti
Sean de Wolski
il 22 Giu 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.
Vedere anche
Categorie
Scopri di più su Creating, Deleting, and Querying Graphics Objects in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!