Effacer les filtres
Effacer les filtres

How to Place an image over existing plots?

335 vues (au cours des 30 derniers jours)
Ashley
Ashley le 18 Déc 2014
Réponse apportée : DGM le 22 Mar 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.

Réponse acceptée

Chad Greene
Chad Greene le 18 Déc 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 commentaires
JACQUES SPILLMANN
JACQUES SPILLMANN le 25 Avr 2020
How would I go about rotating that picture on the plot, let's say, by 10 degrees clockwise?
Dardag
Dardag le 29 Juil 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);

Connectez-vous pour commenter.

Plus de réponses (1)

DGM
DGM le 22 Mar 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:

Catégories

En savoir plus sur 2-D and 3-D Plots dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by