How to Place an image over existing plots?

조회 수: 339 (최근 30일)
Ashley
Ashley 2014년 12월 18일
답변: DGM 2023년 3월 22일
Hello, I have some graphs in Matlab over which I want to insert a small image. I do not want to cover the graphs completely, and want to know how to specify the exact position for overlaying this image onto the existing plots. I have used imread to read the file, but cannot seem to figure out imshow to display the image properly where I would like it to be.

채택된 답변

Chad Greene
Chad Greene 2014년 12월 18일
Hi Ashley,
Run this:
figure
plot((1:10).^2)
axes('pos',[.1 .6 .5 .3])
imshow('coins.png')
The axes command sets up a new set of axes on top of the x^2 plot, with the position of those axes as follows:
[bottomleftcornerXposition bottomleftcornerYposition width height]
  댓글 수: 4
JACQUES SPILLMANN
JACQUES SPILLMANN 2020년 4월 25일
How would I go about rotating that picture on the plot, let's say, by 10 degrees clockwise?
Dardag
Dardag 2020년 7월 29일
I am inserting a particular image in my figure but the resolution of the inserted image gets distorted if I create a smaller box for that, why would that be?
This is what I am using but I don't see any resolution options.
[img, map, alphachannel] = imread(fileName,'png');
image(img, 'AlphaData', alphachannel);

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

DGM
DGM 2023년 3월 22일
This doesn't necessarily require creating another axes object. This can be done directly by setting xdata/ydata for image/imagesc/imshow.
See the example:

카테고리

Help CenterFile Exchange에서 Specifying Target for Graphics Output에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by