How to plot an image(.bmp) in a graph?

35 views (last 30 days)
Hello,
I have a 2-D plot and on the top right corner of the plot, I want to display an image (picture).
Is there any way to do this?

Accepted Answer

Walter Roberson
Walter Roberson on 20 Dec 2013
You can use image()
image(x,y,C), where x and y are two-element vectors, specifies the range of the x- and y-axis labels, but produces the same image as image(C). This can be useful, for example, if you want the axis tick labels to correspond to real physical dimensions represented by the image. If x(1) > x(2) or y(1) > y(2), the image is flipped left-right or up-down, respectively. It can also be useful when you want to place the image within a set of axes already created. In this case, use hold on with the current figure and enter x and y values corresponding to the corners of the desired image location. The image is stretched and oriented as applicable.
  5 Comments
Image Analyst
Image Analyst on 3 Jan 2014
So you have like a plot of a curve or something and you want a little image, like a logo, in the upper right corner? Did you try the plot first and then put "hold on" and then display the image with the proper data coordinates?
Walter Roberson
Walter Roberson on 3 Jan 2014
Draw the plot. Then
axis equal %so images show up with right aspect ratio
set(gca, 'XLimMode', 'manual', 'YLimMode', 'manual');
xl = get(gca, 'XLim');
yl = get(gca, 'YLim');
sizefactor = 0.9; %play with this to get right size, smaller is bigger image
imgx = [sizefactor * xl(2) + (1-sizefactor) * xl(1), xl(2)];
imgy = [sizefactor * yl(2) + (1-sizefactor) * yl(1), yl(2)];
image(imgx, imgy, YourImage);

Sign in to comment.

More Answers (1)

Wei
Wei on 20 Dec 2013
you can use:
subplot(2,2,2)
to manage to display the image on the top right corner of the figure window.

Categories

Find more on Graphics Object Properties in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!