I have created a GUI which has 2 subplots.The first one display original image.
How can i do when i want to zoom in first subplot and then display it in second subplot? Thanks in advance
I have created a GUI which has 2 subplots.The first one display original image.
How can i do when i want to zoom in first subplot and then display it in second subplot? Thanks in advance
You can do that by copying the data from the first subplot to the second and setting the axis limits. Here's an example that doesn't use a GUI but should work the same way:
figure
% create two subplots
ax1 = subplot(2,1,1);
ax2 = subplot(2,1,2);
% display some data in the first subplot
axes(ax1);
imagesc(spiral(10));
% get the range of the axes in the first subplot
xLim1 = get(ax1, 'XLim');
yLim1 = get(ax1, 'YLim');
% Ask the user to zoom in. Instead of pressing
% enter, there could be a button to push in
% a GUI
reply = input('Zoom in and press enter');
% Get the new, zoomed in axes
zoomedXLim = get(ax1, 'XLim');
zoomedYLim = get(ax1, 'YLim');
% get the data from the first axis and display
% it in the second axis.
data = getimage(ax1);
axes(ax2)
imagesc(data)
% set the second axis to the zoomed range
set(ax2, 'XLim', zoomedXLim)
set(ax2, 'YLim', zoomedYLim)
title('zoomed image')
% return the first axis to its original range.
set(ax1, 'XLim', xLim1)
set(ax1, 'YLim', yLim1)
axes(ax1)
title('original image')
The resulting figure will look something like this: