2014-08-27 6 views
1

enter image description here그림에서 하위 그림을 클릭하여 제거합니다. Matlab GUI

이 그림이 있습니다. 사용자가 서브 플롯을 클릭하면 이미지가 다른 그림으로 표시됩니다. 사용자가 서브 플로트를 마우스 오른쪽 버튼으로 클릭하면이 서브 픽셀의 이미지가 제거됩니다.

가능합니까? 그렇다면 방법은 무엇입니까?

P.S : 다른 그림을 클릭하고 디스플레이 이미지에 대한 여기 내 previus 질문이

My question

답변

0

이 쉽게 당신이 참조 질문에서 솔루션의 몇 가지 작은 변화에 의해 이루어집니다.

function interactivePlot 
    list_of_images = {rand(5), rand(10), rand(50), rand(100)}; 

    for ii = 1:length(list_of_images) 
     subplot(2,2,ii); 
     a = imagesc(list_of_images{ii}, 'ButtonDownFcn', @newFigure1); 
     set(a,'UserData',ii); 
    end 
end 


function newFigure1(h1,~) 
    switch get(gcf,'SelectionType') 
     case 'normal' 
      figure(); 
      data = get(h1, 'CData'); 
      imagesc(data); 
     case 'alt' 
      delete(get(h1,'Parent')); 
    end 
end 
:

다음 코드는 새 그림 창에서 그것을 얻을하고 바로 부가 적 줄거리에서 제거 할 이미지를 클릭하여 이미지를 마우스 왼쪽 단추로 클릭 할 수 있습니다