Clear Filters
Clear Filters

Add colorbar of colored plot on grayscale image

5 views (last 30 days)
I have a grayscale image and draw a colored scatter plot on it,but the colorbar just vary from blcak to white,i wanna know how to show the colorbar of the scatter plot but not grayscale image.

Accepted Answer

Bjorn Gustavsson
Bjorn Gustavsson on 6 May 2019
Something like this:
% Assuming your grayscale image is: d in double format
grayscaleIM(:,:,3) = (d-min(d(:)))/(max(d(:))-min(d(:)));
grayscaleIM(:,:,2) = (d-min(d(:)))/(max(d(:))-min(d(:)));
grayscaleIM(:,:,1) = (d-min(d(:)))/(max(d(:))-min(d(:)));
figure
colormap(jet)
imagesc(x,y,grayscaleIM)
hold on
scatter(X,Y,23,V,'filled')
colorbar
Perhaps you have your data in some other formats but you can easily produce an RGB-image that only shows gray-scale or a binary black-white image regardless of what colourmap you use. Then the scatter-plot will work with the current colormap, as should the colorbar.
HTH
  1 Comment
Xiaozhun Tang
Xiaozhun Tang on 7 May 2019
Thanks a lot for your answer! I achieve my aim by using your code. I used command 'imshow' to display the image before but without establishing RGB color-space like the first three lines of your code, so I produced a grayscale image or bingary image but not an RGB image. I ignore this before and I really appreciate your help.

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!