Plotting with image together with scatter plot

76 views (last 30 days)
Ian on 8 Dec 2014
Answered: matt dash on 8 Dec 2014
I would like to plot an image together with scatter plot on a custom figure file that I had created but I am not sure why it dosent appear together, please advice, thanks
Below is the code that I had tried:
h=openfig('figure.fig'); handles = guihandles(h); i = imread('image.jpg'); scatter(handles.axes1,5,6)
hold on; imshow(i); hold off;

Accepted Answer

matt dash
matt dash on 8 Dec 2014
You want to use the command "image", not "imshow". Imshow is meant to just display an image for quick viewing, it not meant to be part of a larger code that does anything with the image. You may also need to 1) draw the image first, so it's on the bottom (or give your scatter a z coordinate that is above the image, using scatter3) 2) use "axis image" to property scale the axes to the image.

More Answers (1)

Thorsten on 8 Dec 2014
Edited: Thorsten on 8 Dec 2014
scatter(handles.axes1,5,6) just plots a single points at (5,6). Maybe that's the error. To scatter 100 points all over the image, use
I = rgb2gray(imread('peppers.png'));
hold on
scatter(size(I,2)*rand(1,100), size(I,1)*rand(1,100), 'r.')
  1 Comment
Ian on 8 Dec 2014
Thanks for your quick reply, but the issue is that I am unable to plot the image and the scatter plot on the same axes. When I plot the image, it will open a new figure. I want the Image and the scatter to be on the same axes

Sign in to comment.


Community Treasure Hunt

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

Start Hunting!