Partial Zoom in subplot function

Hi,
I am trying to zoom one part in the subplot figure. For example, I want to zoom one part of the subplot(2,2,1). I use the axes 'axes('position',[0.3 0.2 0.4 0.4])' function, but it will create a zoom part for the whole figure, rather than zooming the defined subplot. Does anyone know how to zoom the defined area in subplot?
Thanks,
Best regards,
Di

 Accepted Answer

axes('position', ...) does not zoom into the axes. It sets the position of the axes relative to the figure.
To zoom into a section of the axes you need to change the xlim and ylim properties. Also set the data aspect ratio (daspect) if you want to maintain the aspect ratio of the data when zooming.
x = rand(1,200);
y = rand(1,200);
figure()
subplot(2,1,1)
hold on
scatter(x,y)
rectangle('Position',[.6 .2 .2 .4],'EdgeColor','r', 'LineWidth',2)
daspect([1,1,1])
title('full data')
subplot(2,1,2)
hold on
scatter(x,y)
xlim([.6 .8])
ylim([.2 .6])
rectangle('Position',[.6 .2 .2 .4],'EdgeColor','r', 'LineWidth',2)
daspect([1,1,1])
title('zoomed')
Related threads on magnified axes:

2 Comments

Di Liu's answer moved here as a comment
Hi Adam,
Thank you for your help. But can I plot the zoomed part into the subplot figure?Do you know how to do this?
Thanks,
Di
Adam Danz
Adam Danz on 6 Jan 2021
Edited: Adam Danz on 6 Jan 2021
I don't understand what you're asking, "...into the subplot figure". My answer has 2 subplots just for demonstration purposes. The 2nd subplot contains the solution.
The two links at the bottom of my answer might be what you're looking for.

Sign in to comment.

More Answers (0)

Categories

Products

Release

R2019b

Asked:

on 6 Jan 2021

Edited:

on 6 Jan 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!