Placing images on a cartesian plot

Hi there,
I have a series images (.png) outputed from a matlab plotting script based on different sets of parameters.
I need to place all images on a cartesian plot, where X and Y represent the ratios of parameters.
My question is, what function in matlab that I can use to place those images in (x,y) coordinate, such as: plot (x,y, "image1.png")?
Thanks

 Accepted Answer

imread() into an array. image() the array.
image(Axeshandle, X, Y, ImageArray
X and Y are each coordinate vectors giving the left and right (X) and lower and upper (Y) data coordinates to use. The values should describe where to put the centers of the pixels.

4 Comments

Thanks Walter, I have used imread() and image() but that only works for 1 image, as "hold on" function doesnt seem work when using image().
Here is attached, an illustration of the output i wish to get, please advise.
"hold on" works fine using image()
img1 = imread('cameraman.tif');
img1 = img1(:,:,[1 1 1]); %make color
img2 = imread('flamingos.jpg');
image(img2);
hold on
RLim = size(img2,2)-75;
TLim = size(img2,1)-75;
for K = 1 : 10
x = randi(RLim); y = randi(TLim);
image([x x+75], [y y+75], img1);
end
Thanks again Walter, I see you are using the same XY coordinates for all images.
In my case, the main XY plate for placing all images is in a different scale (xlim=[-24 24],ylim = [-20 20]) from the xy coordinates of the images (xlim = [0 700], ylim = [0 700]).
I have done the scaling but still only 1 image plotted.
Could you pls see the attached if you could advise what i have missed?
Thanks Walter, i managed to fix it..it works!!

Sign in to comment.

More Answers (0)

Categories

Find more on Graphics Performance in Help Center and File Exchange

Products

Release

R2019a

Tags

Community Treasure Hunt

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

Start Hunting!