How to Place an image over existing plots?

364 Ansichten (letzte 30 Tage)
Ashley
Ashley am 18 Dez. 2014
Beantwortet: DGM am 22 Mär. 2023
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.

Akzeptierte Antwort

Chad Greene
Chad Greene am 18 Dez. 2014
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 Kommentare
JACQUES SPILLMANN
JACQUES SPILLMANN am 25 Apr. 2020
How would I go about rotating that picture on the plot, let's say, by 10 degrees clockwise?
Dardag
Dardag am 29 Jul. 2020
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);

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

DGM
DGM am 22 Mär. 2023
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:

Kategorien

Mehr zu Specifying Target for Graphics Output finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by