Plotting with image together with scatter plot

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;

 採用された回答

matt dash
matt dash 2014 年 12 月 8 日

0 投票

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.

その他の回答 (1 件)

Thorsten
Thorsten 2014 年 12 月 8 日
編集済み: Thorsten 2014 年 12 月 8 日

0 投票

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'));
imshow(I)
hold on
scatter(size(I,2)*rand(1,100), size(I,1)*rand(1,100), 'r.')

1 件のコメント

Ian
Ian 2014 年 12 月 8 日
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

サインインしてコメントする。

カテゴリ

タグ

質問済み:

Ian
2014 年 12 月 8 日

回答済み:

2014 年 12 月 8 日

Community Treasure Hunt

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

Start Hunting!

Translated by