Bounding box around image

I'm attempting to show an image within a plot, with a bounding box around the image. However, the following results in an image without a bounding box, despite the box being explicitly asked for:
clear
close all
% Create figure
fig1 = figure;
% Random plot
plot( (1:10), randi(10,1,10) )
% Create new axes within existing
axes('pos',[.1 .6 .5 .3])
% Load and show image
imshow('coins.png')
a1 = gca;
% Try turning box on and redrawing
a1.Box = 'on';
drawnow;
Any suggestions as to how this might be resolved? I'm hoping there's a simpler way than having to manually draw a box over the top...

 Accepted Answer

Try this:
% Random plot
plot( (1:10), randi(10,1,10), 'LineWidth', 2)
grid on; % Optional
% Create new axes on top of the existing plot.
axes('Position',[.1 .6 .5 .3])
% Load and show image
imshow('coins.png')
axis('on', 'image'); % This is the KEY LINE OF CODE!
Also see this link to learn how to format your code. http://www.mathworks.com/matlabcentral/answers/13205#answer_18099

1 Comment

That's exactly what I was after, thanks!

Sign in to comment.

More Answers (1)

Matt J
Matt J on 18 Oct 2018

1 Comment

That's potentially a useful addition if more flexibility over the properties of the border is required. Thanks!

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!