Displaying series of images in an axes in a GUI
    2 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
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 Kommentare
Akzeptierte Antwort
  Paulo Silva
      
 am 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
Weitere Antworten (2)
  Sean de Wolski
      
      
 am 22 Jun. 2011
        Use the axes(H) command to set the current axis to your axis of choice
doc axes
5 Kommentare
  Sean de Wolski
      
      
 am 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.
Siehe auch
Kategorien
				Mehr zu Creating, Deleting, and Querying Graphics Objects finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!