Partial Zoom in subplot function

64 views (last 30 days)
Di Liu
Di Liu on 6 Jan 2021
Edited: Adam Danz on 6 Jan 2021
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

Adam Danz
Adam Danz on 6 Jan 2021
Edited: Adam Danz on 6 Jan 2021
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
Adam Danz
Adam Danz on 6 Jan 2021
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

Find more on Visual Exploration in Help Center and File Exchange

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!