how to plot subfigures in one figure like this image?

6 views (last 30 days)
Hello,
I have two images that I would like to plot them next to each other, however for each image there are two small portions horizontal and vertical around them (images as well)
how can I plot them to be like this images?
  3 Comments
MatlabUser
MatlabUser on 24 Feb 2023
Edited: MatlabUser on 24 Feb 2023
yesso total 6 images @Rajeev but for example the green has the same height for blue and the gray same width of blue..
width of green = height of gray .
same for the right image..
this is the only restriction.
Jan
Jan on 24 Feb 2023
@MatlabUser: You can create the axes objects with a specific 'Position' property and use them as parents for the images. Therefore it is unclear, what exactly the problem is.

Sign in to comment.

Accepted Answer

Jan
Jan on 24 Feb 2023
Edited: Jan on 24 Feb 2023
subplot calls axes with specific 'Position' proerpties inside. You can do this directly also.
ax1 = axes('NextPlot', 'add', 'Visible', 'off', ...
'Position', [0.1, 0.2, 0.05, 0.7]);
ax2 = axes('NextPlot', 'add', 'Visible', 'off', ...
'Position', [0.16, 0.15, 0.34, 0.05]);
ax3 = axes('NextPlot', 'add', 'Visible', 'off', ...
'Position', [0.16, 0.2, 0.34, 0.7]);
image(ax1, rand(10, 10, 3))
image(ax2, rand(10, 10, 3))
image(ax3, rand(10, 10, 3))
ax4 = axes('NextPlot', 'add', 'Visible', 'off', ...
'Position', [0.6, 0.2, 0.05, 0.7]);
ax5 = axes('NextPlot', 'add', 'Visible', 'off', ...
'Position', [0.66, 0.15, 0.34, 0.05]);
ax6 = axes('NextPlot', 'add', 'Visible', 'off', ...
'Position', [0.66, 0.2, 0.34, 0.7]);
image(ax4, rand(10, 10, 3))
image(ax5, rand(10, 10, 3))
image(ax6, rand(10, 10, 3))
  2 Comments
Jan
Jan on 24 Feb 2023
You are welcome. I assume it is clear, how to apply the fine tuning to match your needs.

Sign in to comment.

More Answers (0)

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!