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...

 Respuesta aceptada

Image Analyst
Image Analyst el 18 de Oct. de 2018

0 votos

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 comentario

Owen Gebler
Owen Gebler el 18 de Oct. de 2018
That's exactly what I was after, thanks!

Iniciar sesión para comentar.

Más respuestas (1)

Matt J
Matt J el 18 de Oct. de 2018

0 votos

1 comentario

Owen Gebler
Owen Gebler el 18 de Oct. de 2018
That's potentially a useful addition if more flexibility over the properties of the border is required. Thanks!

Iniciar sesión para comentar.

Etiquetas

Preguntada:

el 18 de Oct. de 2018

Comentada:

el 18 de Oct. de 2018

Community Treasure Hunt

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

Start Hunting!

Translated by