通过单击删除图中的子图。 Matlab GUI

时间:2014-08-27 10:29:28

标签: matlab events matlab-figure subplot

enter image description here

我有这个数字。当用户点击子图时,图像将以不同的图形显示。我希望当用户右键点击子图时,该子图像中的图像将被删除。

有可能吗?如果是的话,那是什么方式?

P.S:这是关于点击并在不同图中显示图像的问题

My question

1 个答案:

答案 0 :(得分: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